bug-1492 移动破和工服工单的区域显示数据调整

管理端
创建工单时需要将这个设备的服务代理商公司固化下来,区域字段的数据取这个公司对应的区域

客户端
工单列表中,如果是内部用户和终端用户登录,则去掉区域列,如果是主账号登录,则区域显示空,如果是子账号登录,则显示主账号为子账号设置的区域
This commit is contained in:
曹鹏飞 2026-05-22 17:12:54 +08:00
parent 2417c023a7
commit 2c847246f7
8 changed files with 89 additions and 103 deletions

View File

@ -690,19 +690,8 @@ public class TicketController extends ControllerBase {
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
AdminUser adminUser = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN) ? adminUserService.getById(ticket.getUserId()) : null;
AppUser user = StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_APP) ? appUserService.getById(ticket.getUserId()) : null;
String areaName = "";
if (Objects.nonNull(user)) {
if (user.getType() == 0) {
if (BooleanUtil.isTrue(user.getIsPrimary())) {
areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
} else if (Objects.nonNull(user.getAreaId())) {
areaName = appAreaService.getById(user.getAreaId()).getName();
}
} else {
areaName = Optional.ofNullable(areaService.getById(user.getAreaId())).map(TBaseArea::getAreaName).orElse("");
}
}
// TBaseCustomer company = customerService.getById(Integer.valueOf(user.getCompanyId()));
TBaseCustomer customer=customerService.lambdaQuery().eq(TBaseCustomer::getAgencyCompanyCode, ticket.getAgencyCompanyCode()).one();
String areaName = Objects.isNull(customer) ? "" : customer.getAreaName();
DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo());
String warrantyStateDesc = "";
if (Objects.nonNull(device.getWarrantyState())) {

View File

@ -270,41 +270,25 @@ public class TicketController extends ControllerBase {
public ApiResult<TicketInfoVO> getTicket(@Valid @RequestParam @NotNull Long id) {
TicketDTO ticket = ticketService.getDto(id);
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("未找到工单");
String areaId = "", areaName = "", companyName = "";
// String areaId = "", areaName = "", companyName = "";
String userName, userAvatar;
DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo());
TBaseCustomer customer = customerService.lambdaQuery().eq(TBaseCustomer::getAgencyCompanyCode, ticket.getAgencyCompanyCode()).one();
String companyName = Optional.ofNullable(customer).map(TBaseCustomer::getAgencyCompanyName).orElse("");
String areaName = "";
if (StrUtil.equals(ticket.getUserPlatform(), "app")) {
AppUser user = appUserService.getById(ticket.getUserId());
userName = user.getName();
userAvatar = user.getAvatar();
if (user.getType() == 0) {
if (user.getIsPrimary()) {
areaId = StrUtil.join(",", customerService.getAreaIds(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
} else if (Objects.nonNull(user.getAreaId())) {
AppArea area = appAreaService.getById(user.getAreaId());
if (Objects.nonNull(area)) {
areaId = String.valueOf(area.getId());
areaName = area.getName();
}
}
// companyName = StrUtil.join(",", customerService.listByIds(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()))
// .stream().map(TBaseCustomer::getAgencyCompanyName).collect(Collectors.toList()));
} else if (user.getType() == 1) {
// areaName = gongfuTicketAreaService.getAreaName(ticket.getAreaId(), MultilingualUtil.getLanguage());
GongfuTicketArea area = gongfuTicketAreaService.getArea(ticket.getAreaId(), MultilingualUtil.getLanguage());
if (Objects.nonNull(area)) {
areaId = String.valueOf(area.getId());
areaName = area.getName();
}
// companyName = device.getAgentName();
if (user.getType() == 0 && !user.getIsPrimary()) {
AppArea appArea = appAreaService.getById(user.getAreaId());
areaName = Objects.isNull(appArea) ? "" : appArea.getName();
}
} else {
AdminUser adminUser = adminUserService.getById(ticket.getUserId());
userName = adminUser.getUserName();
userAvatar = adminUser.getAvatar();
}
companyName = Objects.nonNull(device) ? device.getAgentName() : "";
String handle = ticket.getHandle();
if (StrUtil.isNotBlank(handle)) {
List<AdminUser> adminUsers = adminUserService.listByIds(Arrays.stream(handle.split(",")).map(Integer::parseInt).collect(Collectors.toList()));
@ -326,7 +310,8 @@ public class TicketController extends ControllerBase {
.setCreateUserName(userName)
.setCreateUserAvatar(userAvatar)
.setCreateTime(ticket.getCreateTime())
.setAreaId(areaId)
// .setAreaId(areaId)
// .setAreaName(areaName)
.setAreaName(areaName)
.setSolveTime(ticket.getSolveTime())
.setCompanyName(companyName)
@ -342,7 +327,7 @@ public class TicketController extends ControllerBase {
if (Objects.nonNull(part)) {
vo.setComponent(part.getPartName());
}
vo.setPrimaryUserName(companyName);
vo.setPrimaryUserName(Optional.ofNullable(customer).map(TBaseCustomer::getAgencyCompanyName).orElse(""));
} else {
GongfuDevicePart part = part1Service.getByIdAndLanguage(ticket.getComponentId(), MultilingualUtil.getLanguage());
if (Objects.nonNull(part)) {

View File

@ -75,9 +75,9 @@ public class AdminTicketVO {
return reason;
}
//代理区域
@ExcelColumn("代理区域")
private String agentAreaName;
// //代理区域
// @ExcelColumn("代理区域")
// private String agentAreaName;
//区域
@ExcelColumn("区域")

View File

@ -50,10 +50,13 @@ public class TicketInfoVO {
//客户名称
private String companyName;
//所属区域id多个时逗号分隔
private String areaId;
// //所属区域id多个时逗号分隔
// private String areaId;
//所属区域多个时逗号分隔
// //所属区域多个时逗号分隔
// private String areaName;
//所属区域
private String areaName;
//设备编号

View File

@ -163,4 +163,9 @@ public class Ticket implements Serializable {
*/
@TableLogic(value = "0", delval = "1")
private Integer isDelete;
/**
* 代理公司编码
*/
private String agencyCompanyCode;
}

View File

@ -69,14 +69,20 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
@Resource
private IAppMessageService appMessageService;
@Resource
private IDeviceService deviceService;
@Transactional
@Override
public Ticket add(TicketAddRequest request, Integer userId) {
Ticket lastTicket = getBaseMapper().getLastTicket();
String no = lastTicket == null ? TicketUtil.getNextNo("YPSH", null) : TicketUtil.getNextNo("YPSH", lastTicket.getNo());
Device device = deviceService.lambdaQuery().eq(Device::getDeviceNo, request.getDeviceNo()).last("LIMIT 1").one();
VUtils.trueThrowBusinessError(Objects.isNull(device)).throwMessage("未找到设备");
Ticket ticket = new Ticket()
.setNo(no)
.setDeviceNo(request.getDeviceNo())
.setAgencyCompanyCode(device.getAgentCode())
.setDeviceAddress(request.getDeviceAddress())
.setComponentId(Math.toIntExact(request.getComponentId()))
.setUseTime(request.getUseTime())

View File

@ -112,7 +112,7 @@
<select id="searchFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',true AS 'followed'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',true AS 'followed',t.handle,IF(LENGTH(l.language_value)>0
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',true AS 'followed',IF(LENGTH(l.language_value)>0
,l.language_value,p.part_name) AS 'component',t.*
FROM gongfu_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
@ -156,7 +156,7 @@
<select id="searchFromAdmin" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,a1.area_name AS 'areaName','' AS 'agentAreaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,c.area_name AS 'areaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.solve_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',IF(tf.id IS NULL, false, true) AS 'followed'
@ -165,7 +165,7 @@
FROM gongfu_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN t_base_area a1 ON u.area_id=a1.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
LEFT JOIN gongfu_device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN gongfu_device_type dt1 ON dt1.parent_id=0 AND d.product_line=dt1.device_type
LEFT JOIN gongfu_device_type dt2 ON dt2.parent_id=dt1.id AND d.device_type=dt2.device_type
@ -180,7 +180,7 @@
<select id="searchAllFromAdmin" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,a1.area_name AS 'areaName','' AS 'agentAreaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,c.area_name AS 'areaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.solve_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',IF(tf.id IS NULL, false, true) AS 'followed'
@ -189,7 +189,7 @@
FROM gongfu_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN t_base_area a1 ON u.area_id=a1.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
LEFT JOIN gongfu_device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN gongfu_device_type dt1 ON dt1.parent_id=0 AND d.product_line=dt1.device_type
LEFT JOIN gongfu_device_type dt2 ON dt2.parent_id=dt1.id AND d.device_type=dt2.device_type
@ -204,7 +204,7 @@
<select id="searchFromAdminAndFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,a1.area_name AS 'areaName','' AS 'agentAreaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,c.area_name AS 'areaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.solve_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm'
@ -213,7 +213,7 @@
FROM gongfu_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN t_base_area a1 ON u.area_id=a1.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=1
LEFT JOIN gongfu_device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN gongfu_device_type dt1 ON dt1.parent_id=0 AND d.product_line=dt1.device_type
@ -228,7 +228,7 @@
<select id="searchAllFromAdminAndFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,a1.area_name AS 'areaName','' AS 'agentAreaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,c.area_name AS 'areaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.solve_time AS 'completeTime',di.name AS 'warrantyStatusDesc',true AS 'followed'
,auc.user_name AS 'cqm',t.update_time AS 'closeTime',auh.user_name AS 'currentHandle'
@ -236,7 +236,7 @@
FROM gongfu_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN t_base_area a1 ON u.area_id=a1.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=1
LEFT JOIN gongfu_device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN gongfu_device_type dt1 ON dt1.parent_id=0 AND d.product_line=dt1.device_type
@ -262,7 +262,7 @@
<select id="searchByFavouritesId" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,a1.area_name AS 'areaName','' AS 'agentAreaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,c.area_name AS 'areaName',d.customer_name AS 'customerName',t.agency_company_name AS 'agentName'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.solve_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm'
@ -271,7 +271,7 @@
FROM gongfu_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN t_base_area a1 ON u.area_id=a1.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=1
<if test="favouritesId>0">
AND tf.favorites_id=#{favouritesId}

View File

@ -98,12 +98,14 @@
</sql>
<select id="searchMy" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component',t.*
SELECT a.name AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy'
,IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component'
,t.*
FROM v_all_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN app_area a ON u.area_id=a.id and u.is_primary=0 and u.type=0
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=IF(#{from}='app',0,1)
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
LEFT JOIN v_device_part p ON t.component_id=p.id
@ -114,13 +116,13 @@
</select>
<select id="searchFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),a2.`name`) AS 'areaName',true AS 'followed'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',true AS 'followed',t.handle,IF(LENGTH(l.language_value)>0
,l.language_value,p.part_name) AS 'component',t.*
SELECT a.name AS 'areaName',true AS 'followed',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy'
,true AS 'followed',IF(LENGTH(l.language_value)>0,l.language_value,p.part_name) AS 'component'
,t.*
FROM v_all_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN app_area a ON u.area_id=a.id and u.is_primary=0 and u.type=0
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.from=IF(#{from}='app',0,1)
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
LEFT JOIN v_device_part p ON t.component_id=p.id
@ -131,14 +133,14 @@
</select>
<select id="searchArea" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),IF(u.type=1,a3.area_name,a2.`name`)) AS 'areaName'
,IF(tf.id IS NULL, false, true) AS 'followed',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',IF(LENGTH(l.language_value)>0
,l.language_value,p.part_name) AS 'component',t.*
SELECT a.name AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed'
,IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',IF(LENGTH(l.language_value)>0
,l.language_value,p.part_name) AS 'component'
,t.*
FROM v_all_ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN t_base_area a3 ON u.area_id=a3.id
LEFT JOIN app_area a ON u.area_id=a.id and u.is_primary=0 and u.type=0
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=IF(#{from}='app',0,1)
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
LEFT JOIN v_device_part p ON t.component_id=p.id
@ -160,17 +162,17 @@
<select id="searchFromAdmin" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),IF(u.type=1,a3.area_name,'')) AS 'areaName',IF(u.is_primary,'',a2.`name`) AS 'agentAreaName'
,d.customer_name AS 'customerName',d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',IF(tf.id IS NULL, false, true) AS 'followed',auc.user_name AS 'cqm'
,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
,t.handle_name AS 'handle',t.description,t.throughput,t.accident_level
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),c.area_name AS 'areaName',d.customer_name AS 'customerName'
,d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo'
,t.use_time AS 'useTime',t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc'
,d.device_type AS 'deviceType',d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate'
,IF(tf.id IS NULL, false, true) AS 'followed',auc.user_name AS 'cqm',t.solve_time AS 'closeTime'
,auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms',t.handle_name AS 'handle',t.description,t.throughput
,t.accident_level
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN t_base_area a3 ON u.area_id=a3.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
LEFT JOIN device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN t_base_device_type dt ON d.device_type=dt.device_type
LEFT JOIN dictionary_item di ON d.warranty_state=di.id
@ -184,17 +186,16 @@
<select id="searchAllFromAdmin" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),IF(u.type=1,a3.area_name,'')) AS 'areaName',IF(u.is_primary,'',a2.`name`) AS 'agentAreaName'
,d.customer_name AS 'customerName',d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',IF(tf.id IS NULL, false, true) AS 'followed',auc.user_name AS 'cqm'
,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
,t.handle_name AS 'handle',t.description,t.throughput,t.accident_level
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),c.area_name AS 'areaName',d.customer_name AS 'customerName'
,d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo'
,t.use_time AS 'useTime',t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc'
,d.device_type AS 'deviceType',d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate'
,IF(tf.id IS NULL, false, true) AS 'followed',auc.user_name AS 'cqm',t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle'
,dt.cqm_person_name AS 'cqms',t.handle_name AS 'handle',t.description,t.throughput,t.accident_level
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN t_base_area a3 ON u.area_id=a3.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
LEFT JOIN device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN t_base_device_type dt ON d.device_type=dt.device_type
LEFT JOIN dictionary_item di ON d.warranty_state=di.id
@ -208,17 +209,16 @@
<select id="searchFromAdminAndFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),IF(u.type=1,a3.area_name,'')) AS 'areaName',IF(u.is_primary,'',a2.`name`) AS 'agentAreaName'
,d.customer_name AS 'customerName',d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm'
,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),c.area_name AS 'areaName',d.customer_name AS 'customerName'
,d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo'
,t.use_time AS 'useTime',t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc'
,d.device_type AS 'deviceType',d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed'
,auc.user_name AS 'cqm',t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
,t.handle_name AS 'handle',t.description,t.throughput,t.accident_level
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN t_base_area a3 ON u.area_id=a3.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=1
LEFT JOIN device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN t_base_device_type dt ON d.device_type=dt.device_type
@ -232,16 +232,15 @@
<select id="searchAllFromAdminAndFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),IF(u.type=1,a3.area_name,'')) AS 'areaName',IF(u.is_primary,'',a2.`name`) AS 'agentAreaName'
,d.customer_name AS 'customerName',d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',true AS 'followed'
,auc.user_name AS 'cqm',t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle'
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),c.area_name AS 'areaName',d.customer_name AS 'customerName'
,d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo'
,t.use_time AS 'useTime',t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc'
,true AS 'followed',auc.user_name AS 'cqm',t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle'
,dt.cqm_person_name AS 'cqms',t.handle_name AS 'handle',t.description,t.throughput,t.accident_level
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN t_base_area a3 ON u.area_id=a3.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=1
LEFT JOIN device d ON t.device_no=d.device_no and d.data_valid_state=1
LEFT JOIN t_base_device_type dt ON d.device_type=dt.device_type
@ -267,17 +266,16 @@
<select id="searchByFavouritesId" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
SELECT t.id,t.`no`,t.title,t.state,t.urgency,p.part_name AS 'component',t.question,t.reason
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),IF(u.type=1,a3.area_name,'')) AS 'areaName',IF(u.is_primary,'',a2.`name`) AS 'agentAreaName'
,d.customer_name AS 'customerName',d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime'
,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType'
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm'
,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
,IF(u.is_primary,fun_getPrimaryUserArea(u.company_id),c.area_name AS 'areaName',d.customer_name AS 'customerName'
,d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo'
,t.use_time AS 'useTime',t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc'
,d.device_type AS 'deviceType',d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed'
,auc.user_name AS 'cqm',t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
,t.handle_name AS 'handle',t.description,t.throughput,t.accident_level
FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN admin_user au ON t.user_id=au.id
LEFT JOIN app_area a2 ON u.area_id=a2.id
LEFT JOIN t_base_area a3 ON u.area_id=a3.id
LEFT JOIN t_base_customer c ON t.agency_company_code=c.agency_company_code
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=1
<if test="favouritesId>0">
AND tf.favorites_id=#{favouritesId}