parent
d78105ab38
commit
5c2b705289
@ -0,0 +1,24 @@ |
||||
package com.bellmann.common.enums; |
||||
|
||||
import com.bellmann.common.base.IBaseEnum; |
||||
import lombok.Getter; |
||||
|
||||
public enum OrderOperateEnum implements IBaseEnum<String> { |
||||
|
||||
NORMAL_CONSTRUCTION("0","正常施工"), |
||||
|
||||
CANCEL_THE_ORDER("1","撤单"), |
||||
|
||||
; |
||||
|
||||
@Getter |
||||
private String value; |
||||
|
||||
@Getter |
||||
private String label; |
||||
|
||||
OrderOperateEnum(String value, String label){ |
||||
this.label = label; |
||||
this.value = value; |
||||
} |
||||
} |
@ -0,0 +1,37 @@ |
||||
package com.bellmann.common.enums; |
||||
|
||||
import com.bellmann.common.base.IBaseEnum; |
||||
import lombok.Getter; |
||||
|
||||
public enum OrderServiceTypeEnum implements IBaseEnum<String> { |
||||
|
||||
NEW_OUTFIT("0","新装"), |
||||
|
||||
DISMANTLE("1","拆机"), |
||||
|
||||
NAME_CHANGE_AND_TRANSFER("2","改名过户"), |
||||
|
||||
BUSINESS_CHANGES("3","业务变更"), |
||||
|
||||
SHUTDOWN("4","停机"), |
||||
|
||||
RESUMPTION_OF_THE_MACHINE("5","复机"), |
||||
|
||||
SPLIT("6","割接"), |
||||
|
||||
EQUIPMENT_REPLACEMENT("7","设备更换"), |
||||
|
||||
MOVE("8","移机") |
||||
; |
||||
|
||||
@Getter |
||||
private String value; |
||||
|
||||
@Getter |
||||
private String label; |
||||
|
||||
OrderServiceTypeEnum(String value, String label){ |
||||
this.label = label; |
||||
this.value = value; |
||||
} |
||||
} |
@ -0,0 +1,33 @@ |
||||
package com.bellmann.common.enums; |
||||
|
||||
import com.bellmann.common.base.IBaseEnum; |
||||
import lombok.Getter; |
||||
|
||||
public enum OrderStatusEnum implements IBaseEnum<String> { |
||||
|
||||
NOT_PROCESSED("0","未处理"), |
||||
|
||||
PROCESSING("1","处理中"), |
||||
|
||||
PROCESSING_FAILED("2","处理失败"), |
||||
|
||||
RECEIPT("3","回单"), |
||||
|
||||
MANUAL_INTERVENTION("4","手工干预"), |
||||
|
||||
CHARGEBACKS("5","退单"), |
||||
|
||||
TERMINATE_THE_PROVISION("6","终止开通"), |
||||
; |
||||
|
||||
@Getter |
||||
private String value; |
||||
|
||||
@Getter |
||||
private String label; |
||||
|
||||
OrderStatusEnum(String value, String label){ |
||||
this.label = label; |
||||
this.value = value; |
||||
} |
||||
} |
@ -0,0 +1,40 @@ |
||||
package com.bellmann.controller; |
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.bellmann.common.result.PageResult; |
||||
import com.bellmann.model.query.SelectQuery; |
||||
import com.bellmann.model.vo.OrderInfoTableVO; |
||||
import com.bellmann.service.OrderInfoService; |
||||
import io.swagger.v3.oas.annotations.tags.Tag; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.web.bind.annotation.PostMapping; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
/** |
||||
* <p> |
||||
* 前端控制器 |
||||
* </p> |
||||
* |
||||
* @author 李小林 |
||||
* @since 2024-06-12 |
||||
*/ |
||||
@Tag(name = "20.工单管理") |
||||
@RestController |
||||
@RequiredArgsConstructor |
||||
@RequestMapping("/api/order/v1") |
||||
public class OrderInfoController { |
||||
|
||||
private final OrderInfoService orderInfoService; |
||||
@PostMapping("page") |
||||
public PageResult<OrderInfoTableVO> page(@RequestBody SelectQuery query){ |
||||
|
||||
Page<OrderInfoTableVO> page = orderInfoService.tablePage(query); |
||||
return PageResult.success(page); |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,24 @@ |
||||
package com.bellmann.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.bellmann.model.entity.OrderInfo; |
||||
import com.bellmann.model.vo.OrderInfoTableVO; |
||||
import org.apache.ibatis.annotations.Mapper; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* Mapper 接口 |
||||
* </p> |
||||
* |
||||
* @author 李小林 |
||||
* @since 2024-06-12 |
||||
*/ |
||||
@Mapper |
||||
public interface OrderInfoMapper extends BaseMapper<OrderInfo> { |
||||
|
||||
List<OrderInfoTableVO> tablePage(Page<OrderInfoTableVO> page, @Param("column") String column, @Param("value") Object value, @Param("domain") Long domain); |
||||
} |
@ -0,0 +1,102 @@ |
||||
package com.bellmann.model.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* <p> |
||||
* |
||||
* </p> |
||||
* |
||||
* @author 李小林 |
||||
* @since 2024-06-12 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@TableName("itms_order_info") |
||||
public class OrderInfo implements Serializable { |
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
@TableId(value = "order_id", type = IdType.AUTO) |
||||
private Long orderId; |
||||
|
||||
private String receivedOrderId; |
||||
|
||||
private String receivedOrderLhs; |
||||
|
||||
private LocalDateTime orderDate; |
||||
|
||||
private String orderServiceType; |
||||
|
||||
private String orderRemark; |
||||
|
||||
private Date orderDeadline; |
||||
|
||||
private String customerNameNew; |
||||
|
||||
private String customerNameOld; |
||||
|
||||
private String orderCustomerKind; |
||||
|
||||
private Long systemDomain; |
||||
|
||||
private Long corporationDomain; |
||||
|
||||
private String adNo; |
||||
|
||||
private String pppoeAccount; |
||||
|
||||
private String contactPersonNew; |
||||
|
||||
private String contactPersonOld; |
||||
|
||||
private LocalDateTime receivedDate; |
||||
|
||||
private String orderStatus; |
||||
|
||||
private Date orderDealDate; |
||||
|
||||
private String orderDoneFlag; |
||||
|
||||
private Date orderDoneDate; |
||||
|
||||
private String dummyFlag; |
||||
|
||||
private String remark; |
||||
|
||||
private String devSnoOui; |
||||
|
||||
private String pppoePassword; |
||||
|
||||
private String customerAddrNew; |
||||
|
||||
private String customerAddrOld; |
||||
|
||||
private String flowType; |
||||
|
||||
private String userSnNo; |
||||
|
||||
private String userSnKey; |
||||
|
||||
private String uniqueUserId; |
||||
|
||||
private String operRemark; |
||||
|
||||
private String remark1; |
||||
|
||||
private String remark2; |
||||
|
||||
private String remark3; |
||||
|
||||
private Long lifetime; |
||||
|
||||
|
||||
} |
@ -0,0 +1,55 @@ |
||||
package com.bellmann.model.vo; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import com.fasterxml.jackson.annotation.JsonIgnore; |
||||
import io.swagger.v3.oas.annotations.media.Schema; |
||||
import lombok.Data; |
||||
|
||||
import java.time.LocalDateTime; |
||||
|
||||
@Data |
||||
@Schema(description = "工单管理表格列表视图") |
||||
public class OrderInfoTableVO { |
||||
|
||||
private Long orderId; |
||||
|
||||
private String receivedOrderId; |
||||
|
||||
private String receivedOrderLhs; |
||||
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") |
||||
private LocalDateTime orderDate; |
||||
|
||||
private String adNo; |
||||
|
||||
private String orderStatus; |
||||
|
||||
private String orderRemark; |
||||
|
||||
private String orderServiceType; |
||||
|
||||
private String operRemark; |
||||
|
||||
private String port; |
||||
|
||||
private String pppoeAccount; |
||||
|
||||
private String telNum; |
||||
|
||||
@JsonIgnore |
||||
private Long systemDomain; |
||||
|
||||
private String domain; |
||||
|
||||
private String remark3; |
||||
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") |
||||
private LocalDateTime receivedDate; |
||||
|
||||
@JsonIgnore |
||||
private String devSnoOui; |
||||
|
||||
@JsonIgnore |
||||
private String dummyFlag; |
||||
|
||||
private String devOnLineStatus; |
||||
|
||||
} |
@ -0,0 +1,18 @@ |
||||
package com.bellmann.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.bellmann.model.query.SelectQuery; |
||||
import com.bellmann.model.vo.OrderInfoTableVO; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务类 |
||||
* </p> |
||||
* |
||||
* @author 李小林 |
||||
* @since 2024-06-12 |
||||
*/ |
||||
public interface OrderInfoService { |
||||
|
||||
Page<OrderInfoTableVO> tablePage(SelectQuery query); |
||||
} |
@ -0,0 +1,79 @@ |
||||
package com.bellmann.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.bellmann.common.base.IBaseEnum; |
||||
import com.bellmann.common.constant.SecurityConstants; |
||||
import com.bellmann.common.enums.OrderOperateEnum; |
||||
import com.bellmann.common.enums.OrderServiceTypeEnum; |
||||
import com.bellmann.common.enums.OrderStatusEnum; |
||||
import com.bellmann.mapper.OrderInfoMapper; |
||||
import com.bellmann.model.query.SelectQuery; |
||||
import com.bellmann.model.vo.OrderInfoTableVO; |
||||
import com.bellmann.security.util.SecurityUtils; |
||||
import com.bellmann.service.OrderInfoService; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springframework.data.redis.core.RedisTemplate; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务实现类 |
||||
* </p> |
||||
* |
||||
* @author 李小林 |
||||
* @since 2024-06-12 |
||||
*/ |
||||
@Service |
||||
@RequiredArgsConstructor |
||||
public class OrderInfoServiceImpl implements OrderInfoService { |
||||
|
||||
private final OrderInfoMapper orderInfoMapper; |
||||
|
||||
private final RedisTemplate<String, Object> redisTemplate; |
||||
@Override |
||||
public Page<OrderInfoTableVO> tablePage(SelectQuery query) { |
||||
int pageNum = query.getPageNum(); |
||||
int pageSize = query.getPageSize(); |
||||
Object value = query.getSelectValue(); |
||||
String column = query.getSelectName(); |
||||
Page<OrderInfoTableVO> page = new Page<>(pageNum,pageSize); |
||||
Long domain = SecurityUtils.getGroupId(); |
||||
List<OrderInfoTableVO> list = orderInfoMapper.tablePage(page, column, value,domain); |
||||
list.forEach(obj->{ |
||||
Long systemDomain = obj.getSystemDomain(); |
||||
String orderServiceType = obj.getOrderServiceType(); |
||||
String orderStatus = obj.getOrderStatus(); |
||||
String orderRemark = obj.getOrderRemark(); |
||||
String dummyFlag = obj.getDummyFlag(); |
||||
if (systemDomain!=null){ |
||||
obj.setDomain((String) redisTemplate.opsForHash().get(SecurityConstants.DOMAIN_PREFIX,systemDomain.toString())); |
||||
} |
||||
if (orderServiceType!=null){ |
||||
obj.setOrderServiceType(IBaseEnum.getLabelByValue(orderServiceType, OrderServiceTypeEnum.class)); |
||||
} |
||||
if (orderStatus!=null){ |
||||
obj.setOrderStatus(IBaseEnum.getLabelByValue(orderStatus, OrderStatusEnum.class)); |
||||
} |
||||
if (orderRemark!=null){ |
||||
obj.setOrderRemark(IBaseEnum.getLabelByValue(orderRemark, OrderOperateEnum.class)); |
||||
} |
||||
//如果是虚拟工单 不显示 pppoe帐户 和 电话号码 反之则显示 0虚拟单 1是非虚拟单
|
||||
if ("0".equals(dummyFlag)){ |
||||
obj.setTelNum(""); |
||||
obj.setPppoeAccount(""); |
||||
} |
||||
obj.setDevOnLineStatus(devOnlineStatus(obj.getDevSnoOui(), obj.getPppoeAccount())); |
||||
}); |
||||
return page.setRecords(list); |
||||
} |
||||
|
||||
private String devOnlineStatus(String devSnoOui,String pppoe){ |
||||
String status = "无设备上线记录"; |
||||
if (devSnoOui==null || devSnoOui.isEmpty()){ |
||||
return status; |
||||
} |
||||
return null; |
||||
} |
||||
} |
@ -0,0 +1,87 @@ |
||||
<?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"> |
||||
<mapper namespace="com.bellmann.mapper.OrderInfoMapper"> |
||||
|
||||
<!-- 通用查询映射结果 --> |
||||
<resultMap id="BaseResultMap" type="com.bellmann.model.entity.OrderInfo"> |
||||
<id column="order_id" property="orderId" /> |
||||
<result column="received_order_id" property="receivedOrderId" /> |
||||
<result column="received_order_lhs" property="receivedOrderLhs" /> |
||||
<result column="order_date" property="orderDate" /> |
||||
<result column="order_service_type" property="orderServiceType" /> |
||||
<result column="order_remark" property="orderRemark" /> |
||||
<result column="order_deadline" property="orderDeadline" /> |
||||
<result column="customer_name_new" property="customerNameNew" /> |
||||
<result column="customer_name_old" property="customerNameOld" /> |
||||
<result column="order_customer_kind" property="orderCustomerKind" /> |
||||
<result column="system_domain" property="systemDomain" /> |
||||
<result column="corporation_domain" property="corporationDomain" /> |
||||
<result column="ad_no" property="adNo" /> |
||||
<result column="pppoe_account" property="pppoeAccount" /> |
||||
<result column="contact_person_new" property="contactPersonNew" /> |
||||
<result column="contact_person_old" property="contactPersonOld" /> |
||||
<result column="received_date" property="receivedDate" /> |
||||
<result column="order_status" property="orderStatus" /> |
||||
<result column="order_deal_date" property="orderDealDate" /> |
||||
<result column="order_done_flag" property="orderDoneFlag" /> |
||||
<result column="order_done_date" property="orderDoneDate" /> |
||||
<result column="dummy_flag" property="dummyFlag" /> |
||||
<result column="remark" property="remark" /> |
||||
<result column="dev_sno_oui" property="devSnoOui" /> |
||||
<result column="pppoe_password" property="pppoePassword" /> |
||||
<result column="customer_addr_new" property="customerAddrNew" /> |
||||
<result column="customer_addr_old" property="customerAddrOld" /> |
||||
<result column="flow_type" property="flowType" /> |
||||
<result column="user_sn_no" property="userSnNo" /> |
||||
<result column="user_sn_key" property="userSnKey" /> |
||||
<result column="unique_user_id" property="uniqueUserId" /> |
||||
<result column="oper_remark" property="operRemark" /> |
||||
<result column="remark1" property="remark1" /> |
||||
<result column="remark2" property="remark2" /> |
||||
<result column="remark3" property="remark3" /> |
||||
<result column="lifetime" property="lifetime" /> |
||||
</resultMap> |
||||
|
||||
<!-- 通用查询结果列 --> |
||||
<sql id="Base_Column_List"> |
||||
order_id, received_order_id, received_order_lhs, order_date, order_service_type, order_remark, order_deadline, customer_name_new, customer_name_old, order_customer_kind, system_domain, corporation_domain, ad_no, pppoe_account, contact_person_new, contact_person_old, received_date, order_status, order_deal_date, order_done_flag, order_done_date, dummy_flag, remark, dev_sno_oui, pppoe_password, customer_addr_new, customer_addr_old, flow_type, user_sn_no, user_sn_key, unique_user_id, oper_remark, remark1, remark2, remark3, lifetime |
||||
</sql> |
||||
|
||||
<select id="tablePage" resultType="com.bellmann.model.vo.OrderInfoTableVO"> |
||||
SELECT |
||||
aa.order_id, |
||||
aa.received_order_id, |
||||
aa.received_order_lhs, |
||||
aa.order_date, |
||||
aa.ad_no, |
||||
aa.order_status, |
||||
aa.order_remark, |
||||
aa.order_service_type, |
||||
aa.oper_remark, |
||||
bb.detail_remark3 AS port, |
||||
aa.pppoe_account, |
||||
bb.voip_phone AS telNum, |
||||
aa.system_domain, |
||||
aa.remark3, |
||||
aa.received_date, |
||||
aa.dev_sno_oui, |
||||
aa.dummy_flag |
||||
FROM |
||||
ITMS_ORDER_INFO AA |
||||
LEFT JOIN ITMS_ORDER_INFO_DETAIL BB ON AA.ORDER_ID = BB.ORDER_ID |
||||
where |
||||
aa.system_domain >= #{domain} |
||||
<if test="column=='logicId' and column !=null and column!= ''"> |
||||
and aa.user_sn_no = #{value} |
||||
</if> |
||||
<if test="column=='adNo' and column!=null and column!= ''"> |
||||
and aa.ad_no = #{value} |
||||
</if> |
||||
<if test="column=='receiveOrderId' and column!=null and column!= ''"> |
||||
and aa.RECEIVED_ORDER_ID = #{value} |
||||
</if> |
||||
<if test="column=='pppoe' and column!=null and column!= ''"> |
||||
and aa.pppoe_account = #{value} |
||||
</if> |
||||
</select> |
||||
</mapper> |
Loading…
Reference in new issue