Commit 4351f938 by 张晓

技术员中心点列表、更新

1 parent e920dd95
......@@ -148,14 +148,14 @@ public class ExtractServiceImpl implements ExtractService {
// 写order_log
OrderLog orderLog = new OrderLog().setOrderId(orderId).setSuborderId(subId).setSource("PEA-BACKEND").setOperator("DISPATCH")
OrderLog orderLog = new OrderLog().setOrderId(orderId).setSuborderId(subId).setSource("PEA-DISPATCH").setOperator("DISPATCH")
.setContent(String.format("批量自动指派:<%s,%s>", engCode, engName)).setContentOld("")
.setMemo("批量自动指派").setCreateTime(LocalDateTime.now()).setUpdateTime(LocalDateTime.now());
orderLogRepo.save(orderLog);
if (isConfirm) {
OrderEvent orderEvent = new OrderEvent().setOrderId(orderId).setSuborderId(subId).setHappen(LocalDateTime.now())
.setEvent("批量自动指派").setOperator("DISPATCH").setOperatorName("算法批量指派").setSource("PEA-BACKEND")
.setEvent("批量自动指派").setOperator("DISPATCH").setOperatorName("算法批量指派").setSource("PEA-DISPATCH")
.setDescription(String.format("批量自动指派:<%s,%s>", engCode, engName)).setMemo("")
.setCreateTime(LocalDateTime.now()).setUpdateTime(LocalDateTime.now());
orderEventRepo.save(orderEvent);
......@@ -183,14 +183,14 @@ public class ExtractServiceImpl implements ExtractService {
appointment.setSuborderId(appointment.getOrderId());
}
OrderLog orderLog = new OrderLog().setOrderId(orderId).setSuborderId(appointment.getSuborderId()).setSource("PEA-BACKEND").setOperator("DISPATCH")
OrderLog orderLog = new OrderLog().setOrderId(orderId).setSuborderId(appointment.getSuborderId()).setSource("PEA-DISPATCH").setOperator("DISPATCH")
.setContent(String.format("批量自动指派:<%s,%s>", engCode, engName)).setContentOld(lastContent)
.setMemo("批量自动指派").setCreateTime(LocalDateTime.now()).setUpdateTime(LocalDateTime.now());
orderLogRepo.save(orderLog);
if (isConfirm) {
OrderEvent orderEvent = new OrderEvent().setOrderId(orderId).setSuborderId(appointment.getSuborderId()).setHappen(LocalDateTime.now())
.setEvent("批量自动指派").setOperator("DISPATCH").setOperatorName("算法批量指派").setSource("PEA-BACKEND")
.setEvent("批量自动指派").setOperator("DISPATCH").setOperatorName("算法批量指派").setSource("PEA-DISPATCH")
.setDescription(String.format("批量自动指派:<%s,%s>", engCode, engName)).setMemo("")
.setCreateTime(LocalDateTime.now()).setUpdateTime(LocalDateTime.now());
orderEventRepo.save(orderEvent);
......
package com.dituhui.pea.order.controller;
import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dto.EngineerBusinessDTO;
import com.dituhui.pea.order.service.EngineerBusinessService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @author zhangx
*/
@Slf4j
@RestController
@RequestMapping("/pea-order")
public class EngineerCenterPoiController {
@Autowired
private EngineerBusinessService engineerBusinessService;
@GetMapping("/engineer-center/list")
public Result<?> getEngineerCenterList(@Validated EngineerBusinessDTO.Request engineerReq) {
// 获取工程师基础信息列表
if (!"group".equals(engineerReq.getLevelType())) {
return Result.failed("请切换到分站级别查看");
}
Result<?> res = null;
try {
EngineerBusinessDTO.Result result = new EngineerBusinessDTO.Result();
result.setEngineers(engineerBusinessService.getEngineerCenterList(engineerReq));
result.setGroup(engineerBusinessService.getGroupInfo(engineerReq));
result.setWarehouse(engineerBusinessService.getWareHouse(result.getGroup().getWarehouseId()));
res = Result.success(result);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
return res;
}
@PostMapping("/engineer-center/update")
public Result<?> engineerCenterUpdate(@RequestBody EngineerBusinessDTO.EngineerCenterUpdateReqDTO req) {
// 获取工程师技能信息修改
try {
engineerBusinessService.updateEngineerCenter(req);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
return Result.success(null);
}
}
package com.dituhui.pea.order.dao;
import com.dituhui.pea.order.entity.EngineerBusinessEntity;
import com.dituhui.pea.order.entity.EngineerInfoEntity;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author zhangx
*/
public interface EngineerBusinessDao extends CrudRepository<EngineerBusinessEntity, Long> {
@Query("select a from EngineerBusinessEntity a join EngineerInfoEntity o on a.engineerCode=o.engineerCode where o.groupId= :groupId")
List<EngineerBusinessEntity> findByGroupId(String groupId);
@Transactional
@Modifying
@Query("UPDATE EngineerBusinessEntity tt SET tt.address = :address, tt.X= :x, tt.Y=:y WHERE tt.engineerCode = :engineerCode")
void updateEngineerCenter(String address, String x, String y, String engineerCode);
}
......@@ -19,4 +19,8 @@ public interface WarehouseInfoDao extends JpaRepository<OrgWarehouseInfoEntity,
// 返回工作队关联的配件仓
@Query("select a from OrgWarehouseInfoEntity a join OrgTeamEntity o on a.warehouseId=o.warehouseId where o.teamId= :teamId")
OrgWarehouseInfoEntity getByTeamAssigned(String teamId);
OrgWarehouseInfoEntity getOrgWarehouseInfoEntityByWarehouseId(String wareHouseId);
}
package com.dituhui.pea.order.dto;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.List;
public class EngineerBusinessDTO {
@lombok.Data
public static class Request {
@NotNull(message = "组织结构不能为空")
private String levelType;
@NotNull(message = "组织结构不能为空")
private String levelValue;
private String kind;
private String key;
}
@lombok.Data
@Accessors(chain = true)
public static class Result {
private List<Engineer> engineers;
private Group group;
private WareHouse warehouse;
// @JsonIgnore
// private List<Blocks> blocks;
}
@lombok.Data
public static class Engineer {
private String engineerCode;
private String engineerName;
private String address;
private String location;
}
@lombok.Data
public static class Group {
private String groupId;
private String groupName;
private String address;
private String location;
private String warehouseId;
}
@lombok.Data
public static class WareHouse {
private String wareHouseId;
private String wareHouseName;
private String address;
private String location;
}
@lombok.Data
public static class EngineerCenterUpdateReqDTO {
private String engineerCode;
private String address;
private String location;
}
}
package com.dituhui.pea.order.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author zhangx
*/
@Data
@Entity
@Table(name = "engineer_business")
public class EngineerBusinessEntity implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name = "engineer_code")
private String engineerCode;
@Column(name = "max_num")
private Integer maxNum;
@Column(name = "max_minute")
private Integer maxMinute;
@Column(name = "max_distance")
private Integer maxDistance;
private String address;
@Column(name = "x")
private String X;
@Column(name = "y")
private String Y;
private Integer priority;
private Integer departure;
private String memo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "create_time")
private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "update_time")
private LocalDateTime updateTime;
}
\ No newline at end of file
......@@ -17,7 +17,7 @@ public class OrgGroup {
private String cityCode;
private Integer kind;
private Integer category;
private Integer warehouseId;
private String warehouseId;
private String memo;
private Timestamp createTime;
private Timestamp updateTime;
......
......@@ -71,7 +71,7 @@ public class OrgGroupEntity {
/**
* 默认配件仓
*/
private Integer warehouseId;
private String warehouseId;
/**
* 备注
......
......@@ -9,92 +9,92 @@ import java.time.LocalDateTime;
@Data
@Entity
@Table(name="org_warehouse_info")
@Table(name = "org_warehouse_info")
public class OrgWarehouseInfoEntity {
private static final long serialVersionUID = 1L;
@Id
private Integer id;
/**
* 配件仓id
*/
private String warehouseId;
/**
* 配件仓名称
*/
private String warehouseName;
/**
* 归属分部
*/
private String branchId;
/**
* 归属分站
*/
private String groupId;
/**
* 所在城市id
*/
private String cityCode;
/**
* 配件仓
*/
private String address;
/**
* 办公地址经度
*/
private String x;
/**
* 办公地址纬度
*/
private String y;
/**
* 配件到达时间
*/
private String arriveTime;
/**
* 配件到达时间
*/
private String cutoffTime;
/**
* 类型(1分部仓-可分发,2小组仓-快递柜)
*/
private int kind;
/**
* 管理员姓名
*/
private String managerName;
/**
* 管理员手机号码
*/
private String namagerPhone;
/**
* 备注
*/
private String memo;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
private static final long serialVersionUID = 1L;
@Id
private Integer id;
/**
* 配件仓id
*/
private String warehouseId;
/**
* 配件仓名称
*/
private String warehouseName;
/**
* 归属分部
*/
private String branchId;
/**
* 归属分站
*/
private String groupId;
/**
* 所在城市id
*/
private String cityCode;
/**
* 配件仓
*/
private String address;
/**
* 办公地址经度
*/
private String x;
/**
* 办公地址纬度
*/
private String y;
/**
* 配件到达时间
*/
private String arriveTime;
/**
* 配件到达时间
*/
private String cutoffTime;
/**
* 类型(1分部仓-可分发,2小组仓-快递柜)
*/
private int kind;
/**
* 管理员姓名
*/
private String managerName;
/**
* 管理员手机号码
*/
private String namagerPhone;
/**
* 备注
*/
private String memo;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
package com.dituhui.pea.order.service;
import com.dituhui.pea.order.dto.EngineerBusinessDTO;
import java.util.List;
public interface EngineerBusinessService {
List<EngineerBusinessDTO.Engineer> getEngineerCenterList(EngineerBusinessDTO.Request engineerReq);
EngineerBusinessDTO.Group getGroupInfo(EngineerBusinessDTO.Request engineerReq);
EngineerBusinessDTO.WareHouse getWareHouse(String wareHouseId);
void updateEngineerCenter(EngineerBusinessDTO.EngineerCenterUpdateReqDTO centerReq );
}
package com.dituhui.pea.order.service.impl;
import com.dituhui.pea.order.dao.EngineerBusinessDao;
import com.dituhui.pea.order.dao.EngineerInfoDao;
import com.dituhui.pea.order.dao.OrgGroupDao;
import com.dituhui.pea.order.dao.WarehouseInfoDao;
import com.dituhui.pea.order.dto.EngineerBusinessDTO;
import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.service.EngineerBusinessService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@Service
public class EngineerBusinessServiceImpl implements EngineerBusinessService {
@Autowired
private OrgGroupDao orgGroupDao;
@Autowired
private EngineerBusinessDao engineerBusinessDao;
@Autowired
private EngineerInfoDao engineerInfoDao;
@Autowired
private WarehouseInfoDao warehouseInfoDao;
@Override
public List<EngineerBusinessDTO.Engineer> getEngineerCenterList(EngineerBusinessDTO.Request engineerReq) {
Map<String, String> codeNameMap = engineerInfoDao.findByGroupId(engineerReq.getLevelValue()).stream().collect(Collectors.toMap(EngineerInfoEntity::getEngineerCode, EngineerInfoEntity::getName));
return engineerBusinessDao.findByGroupId(engineerReq.getLevelValue()).stream().map(item -> {
EngineerBusinessDTO.Engineer engineer = new EngineerBusinessDTO.Engineer();
engineer.setEngineerCode(item.getEngineerCode());
engineer.setEngineerName(codeNameMap.getOrDefault(item.getEngineerCode(), item.getEngineerCode()));
engineer.setAddress(item.getAddress());
engineer.setLocation(item.getX() + "," + item.getY());
return engineer;
}).collect(Collectors.toList());
}
@Override
public EngineerBusinessDTO.Group getGroupInfo(EngineerBusinessDTO.Request engineerReq) {
OrgGroupEntity groupEntity = orgGroupDao.getByGroupId(engineerReq.getLevelValue());
EngineerBusinessDTO.Group result = new EngineerBusinessDTO.Group();
result.setGroupId(groupEntity.getGroupId());
result.setGroupName(groupEntity.getGroupName());
result.setAddress(groupEntity.getAddress());
result.setLocation(groupEntity.getX() + "," + groupEntity.getY());
result.setWarehouseId(groupEntity.getWarehouseId());
return result;
}
@Override
public EngineerBusinessDTO.WareHouse getWareHouse(String wareHouseId) {
OrgWarehouseInfoEntity item = warehouseInfoDao.getOrgWarehouseInfoEntityByWarehouseId(wareHouseId);
EngineerBusinessDTO.WareHouse wareHouse = new EngineerBusinessDTO.WareHouse();
wareHouse.setWareHouseId(item.getWarehouseId());
wareHouse.setWareHouseName(item.getWarehouseName());
wareHouse.setAddress(item.getAddress());
wareHouse.setLocation(item.getX() + "," + item.getY());
return wareHouse;
}
@Override
public void updateEngineerCenter(EngineerBusinessDTO.EngineerCenterUpdateReqDTO centerReq) {
String location = centerReq.getLocation();
String[] xyArr = location.split(",");
engineerBusinessDao.updateEngineerCenter(centerReq.getAddress(), xyArr[0], xyArr[1], centerReq.getEngineerCode());
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!