fix: 【bug-182】提交工单时,搜索设备编号的页面,展示的设备类型字段没有翻译,需要优化改为展示设备质保状态

This commit is contained in:
曹鹏飞 2025-05-09 17:44:49 +08:00
parent 540e781056
commit a558a0c3bb
6 changed files with 12 additions and 6 deletions

View File

@ -96,7 +96,7 @@ public class TiketController extends ControllerBase {
**/ **/
@PostMapping("searchDevice") @PostMapping("searchDevice")
public ApiResult<PageData<DeviceVO>> searchDevice(@Valid @RequestBody SearchDeviceRequest request) { public ApiResult<PageData<DeviceVO>> searchDevice(@Valid @RequestBody SearchDeviceRequest request) {
return ApiResult.success(deviceService.searchDevice(request)); return ApiResult.success(deviceService.searchDevice(request,MultilingualUtil.getLanguage()));
} }
/** /**

View File

@ -18,6 +18,9 @@ public class DeviceVO {
// 设备型号 // 设备型号
private String modelNo; private String modelNo;
//质保状态
private String warrantyState;
// 设备类型 // 设备类型
private String deviceType; private String deviceType;

View File

@ -35,7 +35,7 @@ public interface DeviceMapper extends BaseMapper<Device> {
void batchDelByIds(@Param("ids")List<Integer> ids); void batchDelByIds(@Param("ids")List<Integer> ids);
Page<DeviceVO> searchDevice(SearchDeviceRequest request, List<Integer> companyIds, Page<?> page); Page<DeviceVO> searchDevice(SearchDeviceRequest request, List<Integer> companyIds,String language, Page<?> page);
void taskWarrantyStateNotStarted(); void taskWarrantyStateNotStarted();

View File

@ -28,7 +28,7 @@ public interface IDeviceService extends IService<Device> {
void batchDelByIds(@Param("ids") List<Integer> ids); void batchDelByIds(@Param("ids") List<Integer> ids);
Page<DeviceVO> searchDevice(SearchDeviceRequest request); Page<DeviceVO> searchDevice(SearchDeviceRequest request,String language);
void taskWarrantyStateNotStarted(); void taskWarrantyStateNotStarted();

View File

@ -49,7 +49,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
} }
@Override @Override
public Page<DeviceVO> searchDevice(SearchDeviceRequest request) { public Page<DeviceVO> searchDevice(SearchDeviceRequest request,String language) {
// IPage<Device> page = lambdaQuery() // IPage<Device> page = lambdaQuery()
// .like(StrUtil.isNotBlank(request.getDeviceNo()), Device::getDeviceNo, request.getDeviceNo()) // .like(StrUtil.isNotBlank(request.getDeviceNo()), Device::getDeviceNo, request.getDeviceNo())
// .like(StrUtil.isNotBlank(request.getModelNo()), Device::getModelNo, request.getModelNo()) // .like(StrUtil.isNotBlank(request.getModelNo()), Device::getModelNo, request.getModelNo())
@ -57,7 +57,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
// .page(new Page<>(request.getPage(), request.getPageSize())); // .page(new Page<>(request.getPage(), request.getPageSize()));
// return PageUtil.convert(page, d -> Convert.convert(DeviceVO.class, d)); // return PageUtil.convert(page, d -> Convert.convert(DeviceVO.class, d));
List<Integer> companyIds = AppUserUtil.getCompanyIds(); List<Integer> companyIds = AppUserUtil.getCompanyIds();
return baseMapper.searchDevice(request, companyIds, new Page<>(request.getPage(), request.getPageSize())); return baseMapper.searchDevice(request, companyIds,language ,new Page<>(request.getPage(), request.getPageSize()));
} }
public void taskWarrantyStateNotStarted(){ public void taskWarrantyStateNotStarted(){

View File

@ -58,10 +58,13 @@
</update> </update>
<select id="searchDevice" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceVO"> <select id="searchDevice" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceVO">
SELECT d.device_no AS 'deviceNo',d.device_name AS 'deviceName',d.model_no AS 'modelNo',d.device_type AS 'deviceType',d.shipment_date AS 'shipmentDate' SELECT d.device_no AS 'deviceNo',d.device_name AS 'deviceName',d.model_no AS 'modelNo'
,d.device_type AS 'deviceType',d.shipment_date AS 'shipmentDate',IFNULL(dit2.value,di2.value) AS 'warrantyState'
FROM device d FROM device d
INNER JOIN t_base_customer c ON d.agent_code=c.agency_company_code INNER JOIN t_base_customer c ON d.agent_code=c.agency_company_code
INNER JOIN dictionary_item di ON di.id=d.device_state INNER JOIN dictionary_item di ON di.id=d.device_state
LEFT JOIN dictionary_item di2 ON di2.id=d.warranty_state
LEFT JOIN dictionary_item_translate dit2 ON dit2.dictionary_item_id=d.warranty_state AND dit2.language_code=#{language}
WHERE d.data_valid_state=1 AND di.`code`='Normal' AND c.id IN WHERE d.data_valid_state=1 AND di.`code`='Normal' AND c.id IN
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=","> <foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
#{companyId} #{companyId}