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