【admin】新增# 1.新增客户新建检修工单
parent
416c12469e
commit
825985a425
|
@ -132,9 +132,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
Equipment equipment = equipmentMapper.selectById(model.getEquipmentId());
|
Equipment equipment = equipmentMapper.selectById(model.getEquipmentId());
|
||||||
vo.setEquipment(equipment);
|
vo.setEquipment(equipment);
|
||||||
|
|
||||||
//设置接收人姓名
|
//设置创建人姓名
|
||||||
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectById(model.getCreatorId());
|
if(model.getOrderSource() == OrderStateEnum.CUSTOMER_REPORT.getStatus()){
|
||||||
vo.setCreatorName(systemAuthAdmin.getNickname());
|
User user = userMapper.selectById(model.getReceiverId());
|
||||||
|
vo.setCreatorName(user.getNickname());
|
||||||
|
}else{
|
||||||
|
SystemAuthAdmin systemAuthAdmin = systemAuthAdminMapper.selectById(model.getCreatorId());
|
||||||
|
vo.setCreatorName(systemAuthAdmin.getNickname());
|
||||||
|
}
|
||||||
|
|
||||||
//设置接单人名称
|
//设置接单人名称
|
||||||
User user = userMapper.selectById(model.getReceiverId());
|
User user = userMapper.selectById(model.getReceiverId());
|
||||||
|
|
|
@ -45,6 +45,8 @@ public class MaintenanceOrderDto implements Serializable {
|
||||||
private Date updateTime; // 更新时间
|
private Date updateTime; // 更新时间
|
||||||
private Integer isDelete; // 是否删除 0-未删除 1-删除
|
private Integer isDelete; // 是否删除 0-未删除 1-删除
|
||||||
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
||||||
|
private Integer isMaintain; //是否维修 0-维修 1-不维修
|
||||||
|
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
|
||||||
|
|
||||||
private String faultName; //故障名称
|
private String faultName; //故障名称
|
||||||
private String equipmentNo; //设备编号
|
private String equipmentNo; //设备编号
|
||||||
|
|
|
@ -23,6 +23,6 @@ public interface WarehouseMapper extends IBaseMapper<Warehouse> {
|
||||||
* @param id 指定仓库id
|
* @param id 指定仓库id
|
||||||
* @return List<Warehouse>
|
* @return List<Warehouse>
|
||||||
*/
|
*/
|
||||||
@Select("select * from la_warehouse where is_delete = 0 (pid IN ( SELECT id FROM la_warehouse WHERE warehouse_coding = 'topWarehouse' OR warehouse_coding = 'areaWarehouse' ) or id = #{id})")
|
@Select("select * from la_warehouse where is_delete = 0 and pid IN ( SELECT id FROM la_warehouse WHERE warehouse_coding = 'topWarehouse' OR warehouse_coding = 'areaWarehouse') or id = #{id}")
|
||||||
List<Warehouse> findPublicWarehouseList(@Param("id") Long id);
|
List<Warehouse> findPublicWarehouseList(@Param("id") Long id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,50 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(MaintenanceOrderParam maintenanceOrderParam) {
|
public void add(MaintenanceOrderParam maintenanceOrderParam) {
|
||||||
|
MaintenanceOrder model = new MaintenanceOrder();
|
||||||
|
BeanUtils.copyProperties(maintenanceOrderParam, model);
|
||||||
|
|
||||||
|
//订单来源
|
||||||
|
model.setOrderSource(OrderStateEnum.CUSTOMER_REPORT.getStatus());
|
||||||
|
//接单类型
|
||||||
|
model.setReceiverType((long) OrderStateEnum.REGIONAL_DISPATCH.getStatus());
|
||||||
|
//订单状态
|
||||||
|
model.setOrderStatus(OrderStateEnum.WAITING_LIST.getStatus());
|
||||||
|
|
||||||
|
model.setOrderNo(getOrderNo());
|
||||||
|
model.setCreatorId(maintenanceOrderParam.getClientId());
|
||||||
|
|
||||||
|
maintenanceOrderMapper.insert(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getOrderNo() {
|
||||||
|
//获取当前日期并将其进行格式化
|
||||||
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||||
|
String formatDate = simpleDateFormat.format(new Date());
|
||||||
|
|
||||||
|
StringBuilder currentOrderNo = new StringBuilder(formatDate + "000001");
|
||||||
|
MaintenanceOrder lastmMaintenanceOrder = maintenanceOrderMapper.selectOne(new LambdaQueryWrapper<MaintenanceOrder>()
|
||||||
|
.eq(MaintenanceOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
|
.like(MaintenanceOrder::getOrderNo, formatDate)
|
||||||
|
.orderByDesc(MaintenanceOrder::getOrderNo)
|
||||||
|
.last("limit 1"));
|
||||||
|
//当天日期加第一条流水号,如果数据库不存在,则代表今天第一条数据
|
||||||
|
if (lastmMaintenanceOrder == null) {
|
||||||
|
return currentOrderNo.toString();
|
||||||
|
} else {
|
||||||
|
int lastOrderNo = Integer.parseInt(lastmMaintenanceOrder.getOrderNo().substring(8));
|
||||||
|
int length = String.valueOf((lastOrderNo + 1)).length();
|
||||||
|
StringBuilder newOrderNo = new StringBuilder(lastOrderNo + 1 + "");
|
||||||
|
|
||||||
|
//如果流水号长度小于6位,则在前面补0
|
||||||
|
if (length < 6) {
|
||||||
|
for (int i = 0; i < 6 - length; i++) {
|
||||||
|
newOrderNo.insert(0, "0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return formatDate + newOrderNo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -176,12 +219,10 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
|
|
||||||
if(maintenanceOrderParam.getIsClient() == MaintenanceOrderStatusEnum.REPAIRER.getStatus()){
|
if(maintenanceOrderParam.getIsClient() == MaintenanceOrderStatusEnum.REPAIRER.getStatus()){
|
||||||
maintenanceOrderDto.setReceiverId(FrontThreadLocal.getUserId().longValue());
|
maintenanceOrderDto.setReceiverId(FrontThreadLocal.getUserId().longValue());
|
||||||
|
maintenanceOrderDto.setOrderStatusIds("1,2,7,8");
|
||||||
}else{
|
}else{
|
||||||
maintenanceOrderDto.setClientId(maintenanceOrderDto.getClientId());
|
maintenanceOrderDto.setClientId(maintenanceOrderDto.getClientId());
|
||||||
}
|
maintenanceOrderDto.setOrderStatusIds("0,1,2,7,8");
|
||||||
|
|
||||||
if(maintenanceOrderParam.getOrderStatus() == null){
|
|
||||||
maintenanceOrderDto.setOrderStatusIds("1,2,7,8");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<MaintenanceOrderListVo> returnData = new LinkedList<>();
|
List<MaintenanceOrderListVo> returnData = new LinkedList<>();
|
||||||
|
@ -234,21 +275,32 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
Assert.notNull(maintenanceOrder, "数据不存在");
|
Assert.notNull(maintenanceOrder, "数据不存在");
|
||||||
Assert.notNull(maintenanceOrderParam.getCancelCause(), "退单原因不可为空");
|
Assert.notNull(maintenanceOrderParam.getCancelCause(), "退单原因不可为空");
|
||||||
|
|
||||||
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.CHECKING.getStatus() ||
|
maintenanceOrder.setCancelOrderTime(new Date());
|
||||||
maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
|
maintenanceOrder.setCancelCause(maintenanceOrderParam.getCancelCause());
|
||||||
|
|
||||||
if(maintenanceOrder.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){
|
if(maintenanceOrderParam.getIsClient() == MaintenanceOrderStatusEnum.CLIENT.getStatus()){
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAITING_LIST.getStatus());
|
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.WAITING_LIST.getStatus() ||
|
||||||
maintenanceOrder.setReceiverId(null);
|
maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
|
||||||
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CLOSED.getStatus());
|
||||||
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
}else{
|
}else{
|
||||||
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHARGEBACK.getStatus());
|
throw new OperateException("当前订单状态不可退单");
|
||||||
}
|
}
|
||||||
maintenanceOrder.setCancelOrderTime(new Date());
|
}else {
|
||||||
maintenanceOrder.setCancelCause(maintenanceOrderParam.getCancelCause());
|
if(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.CHECKING.getStatus() ||
|
||||||
|
maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.PENDING_ORDER.getStatus()){
|
||||||
|
|
||||||
maintenanceOrderMapper.updateById(maintenanceOrder);
|
if(maintenanceOrder.getRepairWorkOrderFlow() == OrderStateEnum.WORK_ORDER_TANK.getStatus()){
|
||||||
}else{
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.WAITING_LIST.getStatus());
|
||||||
throw new OperateException("当前订单状态不可退单");
|
maintenanceOrder.setReceiverId(null);
|
||||||
|
}else{
|
||||||
|
maintenanceOrder.setOrderStatus(MaintenanceOrderStatusEnum.CHARGEBACK.getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
maintenanceOrderMapper.updateById(maintenanceOrder);
|
||||||
|
}else{
|
||||||
|
throw new OperateException("当前订单状态不可退单");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,7 +402,7 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
|
||||||
public void confirmServiceOfferPrice(MaintenanceOrderParam maintenanceOrderParam) {
|
public void confirmServiceOfferPrice(MaintenanceOrderParam maintenanceOrderParam) {
|
||||||
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
MaintenanceOrder maintenanceOrder = maintenanceOrderMapper.findMaintenanceOrderById(maintenanceOrderParam.getId());
|
||||||
Assert.notNull(maintenanceOrder, "数据不存在");
|
Assert.notNull(maintenanceOrder, "数据不存在");
|
||||||
Assert.isTrue(maintenanceOrder.getOrderStatus() != MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus(), "订单状态错误");
|
Assert.isTrue(maintenanceOrder.getOrderStatus() == MaintenanceOrderStatusEnum.WAIT_CONFIRMATION.getStatus(), "订单状态错误");
|
||||||
|
|
||||||
if(maintenanceOrderParam.getIsMaintain() == MaintenanceOrderStatusEnum.MAINTAIN.getStatus()){
|
if(maintenanceOrderParam.getIsMaintain() == MaintenanceOrderStatusEnum.MAINTAIN.getStatus()){
|
||||||
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
maintenanceOrder.setIsMaintain(MaintenanceOrderStatusEnum.MAINTAIN.getStatus());
|
||||||
|
|
|
@ -31,8 +31,6 @@ public class MaintenanceOrderParam implements Serializable {
|
||||||
|
|
||||||
private String orderNo;
|
private String orderNo;
|
||||||
|
|
||||||
@NotNull(message = "orderSource参数缺失", groups = {create.class})
|
|
||||||
@DecimalMin(value = "0", message = "orderSource参数值不能少于0", groups = {create.class})
|
|
||||||
private Integer orderSource;
|
private Integer orderSource;
|
||||||
|
|
||||||
private Integer orderStatus;
|
private Integer orderStatus;
|
||||||
|
@ -53,8 +51,6 @@ public class MaintenanceOrderParam implements Serializable {
|
||||||
|
|
||||||
private String faultImg;
|
private String faultImg;
|
||||||
|
|
||||||
@NotNull(message = "receiverType参数缺失", groups = {create.class, update.class})
|
|
||||||
@DecimalMin(value = "0", message = "receiverType参数值不能少于0", groups = {create.class, update.class})
|
|
||||||
private Long receiverType;
|
private Long receiverType;
|
||||||
|
|
||||||
private Long provinceId;
|
private Long provinceId;
|
||||||
|
@ -92,10 +88,6 @@ public class MaintenanceOrderParam implements Serializable {
|
||||||
|
|
||||||
private String familiarFaultDescription;
|
private String familiarFaultDescription;
|
||||||
|
|
||||||
/**
|
|
||||||
* 订单去向 0-工单池 1-检修员
|
|
||||||
*/
|
|
||||||
@NotNull(message = "repairWorkOrderFlow参数缺失", groups = {create.class, update.class})
|
|
||||||
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
||||||
|
|
||||||
private String faultName; //故障名称
|
private String faultName; //故障名称
|
||||||
|
|
|
@ -44,6 +44,8 @@ public class MaintenanceOrderDetailVo implements Serializable {
|
||||||
private Long familiarFaultId; // 常见维修结论id
|
private Long familiarFaultId; // 常见维修结论id
|
||||||
private String familiarFaultDescription; // 常见维修结论描述
|
private String familiarFaultDescription; // 常见维修结论描述
|
||||||
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
||||||
|
private Integer isMaintain; //是否维修 0-维修 1-不维修
|
||||||
|
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
|
||||||
private Date createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
|
|
||||||
private String clientName; // 客户姓名
|
private String clientName; // 客户姓名
|
||||||
|
|
|
@ -44,6 +44,8 @@ public class MaintenanceOrderListVo implements Serializable {
|
||||||
private Date createTime; // 创建时间
|
private Date createTime; // 创建时间
|
||||||
private Date updateTime; // 更新时间
|
private Date updateTime; // 更新时间
|
||||||
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
private Integer repairWorkOrderFlow; //工单去向 0=工单池 1=检修员
|
||||||
|
private Integer isMaintain; //是否维修 0-维修 1-不维修
|
||||||
|
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
|
||||||
private Double distance; //距离
|
private Double distance; //距离
|
||||||
private String practicalDistance; //实际距离
|
private String practicalDistance; //实际距离
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ public class OrderSparePartListVo implements Serializable {
|
||||||
private String specificationsModel; // 规格型号
|
private String specificationsModel; // 规格型号
|
||||||
private String unit; // 单位
|
private String unit; // 单位
|
||||||
private BigDecimal price; // 价格
|
private BigDecimal price; // 价格
|
||||||
private Long quantity; // 数量
|
private Integer quantity; // 数量
|
||||||
private BigDecimal totalPrice; // 总价
|
private BigDecimal totalPrice; // 总价
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue