Compare commits

...

2 Commits

Author SHA1 Message Date
liweidong-hj f7f402d636 物流优化 2 days ago
qinyulong e58c6dda93 转岗使用部门 3 days ago
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/dto/TaskDto.java
  2. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/mapper/CertificateMaintenanceMapper.xml
  3. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/mapper/EquipmentMaintenanceMapper.xml
  4. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/mapper/PostHandleMapper.xml
  5. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/impl/PostHandleServiceImpl.java
  6. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBindController.java
  7. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/StationController.java
  8. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/StationMapper.java
  9. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/StationMapper.xml
  10. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskMapper.xml
  11. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java
  12. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IStationService.java
  13. 42
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java
  14. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StationServiceImpl.java
  15. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskServiceImpl.java

@ -30,12 +30,12 @@ public class TaskDto extends BaseEntity {
* 开始时间 * 开始时间
*/ */
@Schema(description = "开始时间") @Schema(description = "开始时间")
private Date startTime; private String startTime;
/** /**
* 结束时间 * 结束时间
*/ */
@Schema(description = "结束时间") @Schema(description = "结束时间")
private Date endTime; private String endTime;
/** /**
* 任务Id * 任务Id

@ -113,7 +113,7 @@
SELECT SELECT
ph.ID as ph_id, ph.ID as ph_id,
ph.*, ph.*,
bd.TS_NAME as DEPT_NAME, bd.DEPT_NAME as DEPT_NAME,
cm.id as cm_id, cm.id as cm_id,
cm.ph_id as cm_ph_id, cm.ph_id as cm_ph_id,
cm.create_time as cm_create_time, cm.create_time as cm_create_time,
@ -130,7 +130,7 @@
ct.astronaut_validity_period as astronaut_validity_period ct.astronaut_validity_period as astronaut_validity_period
FROM MES_POST_HANDLE ph FROM MES_POST_HANDLE ph
LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID
LEFT JOIN BS_TEAM_SET bd ON ph.DEPT_ID = bd.ID LEFT JOIN BLADE_DEPT bd ON ph.DEPT_ID = bd.ID
LEFT JOIN MES_CERTIFICATE_MAINTENANCE cm ON ph.id = cm.ph_id AND cm.is_deleted = 0 LEFT JOIN MES_CERTIFICATE_MAINTENANCE cm ON ph.id = cm.ph_id AND cm.is_deleted = 0
LEFT JOIN MES_CERTIFICATE_TYPE ct ON cm.certificate_id = ct.id AND ct.is_deleted = 0 LEFT JOIN MES_CERTIFICATE_TYPE ct ON cm.certificate_id = ct.id AND ct.is_deleted = 0
WHERE ph.is_deleted = 0 and ph.staff_type != 1 WHERE ph.is_deleted = 0 and ph.staff_type != 1

@ -97,7 +97,7 @@
SELECT SELECT
ph.ID as ph_id, ph.ID as ph_id,
ph.*, ph.*,
bd.TS_NAME as DEPT_NAME, bd.DEPT_NAME as DEPT_NAME,
em.id as em_id, em.id as em_id,
em.ph_id as em_ph_id, em.ph_id as em_ph_id,
em.equipment_id, em.equipment_id,
@ -109,7 +109,7 @@
equipment.mac_spec equipment.mac_spec
FROM MES_POST_HANDLE ph FROM MES_POST_HANDLE ph
LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID
LEFT JOIN BS_TEAM_SET bd ON ph.DEPT_ID = bd.ID LEFT JOIN BLADE_DEPT bd ON ph.DEPT_ID = bd.ID
LEFT JOIN MES_EQUIPMENT_MAINTENANCE em ON ph.id = em.ph_id AND em.is_deleted = 0 LEFT JOIN MES_EQUIPMENT_MAINTENANCE em ON ph.id = em.ph_id AND em.is_deleted = 0
LEFT JOIN MES_EQUIPMENT equipment ON em.equipment_id = equipment.id AND equipment.is_deleted = 0 LEFT JOIN MES_EQUIPMENT equipment ON em.equipment_id = equipment.id AND equipment.is_deleted = 0
WHERE ph.is_deleted = 0 and ph.staff_type != 1 WHERE ph.is_deleted = 0 and ph.staff_type != 1

@ -102,10 +102,10 @@
mph.*, -- 主表所有字段 mph.*, -- 主表所有字段
bu.REAL_NAME as USER_NAME, -- 用户姓名 bu.REAL_NAME as USER_NAME, -- 用户姓名
bu.CODE as USER_CODE, -- 用户工号 bu.CODE as USER_CODE, -- 用户工号
bd.TS_NAME as DEPT_NAME -- 班组名称 bd.DEPT_NAME as DEPT_NAME -- 班组名称
FROM MES_POST_HANDLE mph FROM MES_POST_HANDLE mph
LEFT JOIN BLADE_USER bu ON mph.USER_ID = bu.ID -- 关联用户表 LEFT JOIN BLADE_USER bu ON mph.USER_ID = bu.ID -- 关联用户表
LEFT JOIN BS_TEAM_SET bd ON mph.DEPT_ID = bd.ID -- 关联部门表 LEFT JOIN BLADE_DEPT bd ON mph.DEPT_ID = bd.ID -- 关联部门表
WHERE mph.IS_DELETED = 0 WHERE mph.IS_DELETED = 0
<if test="postHandle.userCode != null and postHandle.userCode != ''"> <if test="postHandle.userCode != null and postHandle.userCode != ''">
AND bu.CODE = #{postHandle.userCode} AND bu.CODE = #{postHandle.userCode}

@ -232,9 +232,11 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
return R.fail("导入数据中存在重复的工号:" + duplicateCodes); return R.fail("导入数据中存在重复的工号:" + duplicateCodes);
} }
//获取用户与班组对应关系 //获取用户与班组对应关系
List<RelTeamSetUser> relTeamSetUsers = relTeamSetUserService.list(); List<PostHandleEntity> list = postHandleImports.stream().map(this::convertSingle).collect(Collectors.toList());
Map<Long, Long> relTeamSetUserMap = relTeamSetUsers.stream().collect(Collectors.toMap(item -> item.getUserId(), item -> item.getTeamSetId()));
List<PostHandleEntity> list = postHandleImports.stream().map((PostHandleImport excel) -> convertSingle(excel, relTeamSetUserMap)).collect(Collectors.toList()); // List<RelTeamSetUser> relTeamSetUsers = relTeamSetUserService.list();
// Map<Long, Long> relTeamSetUserMap = relTeamSetUsers.stream().collect(Collectors.toMap(item -> item.getUserId(), item -> item.getTeamSetId()));
// List<PostHandleEntity> list = postHandleImports.stream().map((PostHandleImport excel) -> convertSingle(excel, relTeamSetUserMap)).collect(Collectors.toList());
//获取全部用户id,对比PostHandleEntity已有数据,不允许重复添加 //获取全部用户id,对比PostHandleEntity已有数据,不允许重复添加
List<Long> ids = list.stream().map(PostHandleEntity::getUserId) List<Long> ids = list.stream().map(PostHandleEntity::getUserId)
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -298,7 +300,7 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
/** /**
* 转换单个对象 * 转换单个对象
*/ */
private PostHandleEntity convertSingle(PostHandleImport excel, Map<Long, Long> map) { private PostHandleEntity convertSingle(PostHandleImport excel) {
PostHandleEntity entity = new PostHandleEntity(); PostHandleEntity entity = new PostHandleEntity();
// 核心:属性拷贝,两个类的字段名和类型必须一致 // 核心:属性拷贝,两个类的字段名和类型必须一致
BeanUtils.copyProperties(excel, entity); BeanUtils.copyProperties(excel, entity);
@ -313,7 +315,7 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
} }
entity.setUserId(userByCode.getUser().getId()); entity.setUserId(userByCode.getUser().getId());
entity.setName(userByCode.getUser().getRealName()); entity.setName(userByCode.getUser().getRealName());
entity.setDeptId(map.get(userByCode.getUser().getId())); entity.setDeptId(Long.valueOf(userByCode.getUser().getDeptId()));
//技能等级 //技能等级
entity.setSkill(SkillEnum.of(excel.getSkillName()).getCode().shortValue()); entity.setSkill(SkillEnum.of(excel.getSkillName()).getCode().shortValue());
//婚姻状态 //婚姻状态

@ -99,10 +99,10 @@ public class OrderBindController {
summary = "箱条码查询", summary = "箱条码查询",
description = "获取箱条码数据详情" description = "获取箱条码数据详情"
) )
public R getBoxbarcodeDetails(@RequestParam( required = false) String orderBindId, public R getBoxbarcodeDetails(@RequestParam String boxBarcode,
@RequestParam( required = false) String boxBarcode) throws BusinessException { @RequestParam boolean isDetail) {
return iOrderBoxService.getBoxbarcodeDetails(orderBindId,boxBarcode); return iOrderBoxService.getBoxbarcodeDetails(boxBarcode,isDetail);
} }
} }

@ -7,22 +7,17 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import oracle.jdbc.proxy.annotation.Post;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity;
import org.springblade.desk.dashboard.pojo.vo.DsTaskingVO;
import org.springblade.desk.logistics.pojo.entity.Station; import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO; import org.springblade.desk.logistics.pojo.vo.StationVO;
import org.springblade.desk.logistics.service.IOrderBoxService; import org.springblade.desk.logistics.service.IOrderBoxService;
import org.springblade.desk.logistics.service.IStationService; import org.springblade.desk.logistics.service.IStationService;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.order.pojo.vo.YieldOrderVo;
import org.springblade.desk.order.wrapper.YieldOrderWrapper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.List;
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor
@ -75,5 +70,16 @@ public class StationController {
} }
@GetMapping("/getStationRegionList")
@ApiOperationSupport(order = 1)
@Operation(summary = "集合", description = "获取站点区域列表")
public R getStationRegionList(@RequestParam boolean isStart) {
List<StationRegionVo> stationRegionList = stationService.getStationRegionList(isStart);
return R.data(stationRegionList);
}
} }

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springblade.desk.logistics.pojo.entity.Station; import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO; import org.springblade.desk.logistics.pojo.vo.StationVO;
import java.util.List; import java.util.List;
@ -21,4 +22,6 @@ public interface StationMapper extends BaseMapper<Station> {
List<StationVO> getStatusStationList(@Param("stationStatus")Integer stationStatus, List<StationVO> getStatusStationList(@Param("stationStatus")Integer stationStatus,
@Param("stationStatusInclude") boolean stationStatusInclude, @Param("wcId")Long wcId, @Param("status")Integer status, @Param("stationStatusInclude") boolean stationStatusInclude, @Param("wcId")Long wcId, @Param("status")Integer status,
@Param("include")boolean include); @Param("include")boolean include);
List<StationRegionVo> selectAllStationRegionList();
} }

@ -116,5 +116,11 @@
</if> </if>
</if> </if>
</select> </select>
<select id="selectAllStationRegionList"
resultType="org.springblade.desk.logistics.pojo.vo.StationRegionVo">
SELECT DISTINCT station_region as stationRegion
FROM LM_STATION
WHERE IS_DELETED = 0
</select>
</mapper> </mapper>

@ -47,7 +47,7 @@
AND l.BOX_BARCODE LIKE '%' || #{taskDto.boxBarcode} || '%' AND l.BOX_BARCODE LIKE '%' || #{taskDto.boxBarcode} || '%'
</if> </if>
<if test="taskDto.startTime != null and taskDto.startTime != '' and taskDto.endTime != null and taskDto.endTime != ''"> <if test="taskDto.startTime != null and taskDto.endTime != null ">
AND l.CREATE_TIME BETWEEN TO_DATE(#{taskDto.startTime}, 'YYYY-MM-DD HH24:MI:SS') AND l.CREATE_TIME BETWEEN TO_DATE(#{taskDto.startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND TO_DATE(#{taskDto.endTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{taskDto.endTime}, 'YYYY-MM-DD HH24:MI:SS')
</if> </if>

@ -51,7 +51,7 @@ public interface IOrderBoxService {
R getQuantityLocation(String boxBarcode); R getQuantityLocation(String boxBarcode);
R getBoxbarcodeDetails( String orderBindId,String boxBarcode); R getBoxbarcodeDetails( String boxBarcode,boolean isDetail);
R getStationNameBoxBarcode(String stationCode); R getStationNameBoxBarcode(String stationCode);

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.logistics.pojo.entity.Station; import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO; import org.springblade.desk.logistics.pojo.vo.StationVO;
import java.util.List; import java.util.List;
@ -73,4 +74,11 @@ public interface IStationService extends BaseService<Station> {
boolean updateStation(Station station); boolean updateStation(Station station);
List<StationVO> getStatusStationList(Integer stationStatus, boolean stationStatusInclude, Long wcId,Integer status, boolean include); List<StationVO> getStatusStationList(Integer stationStatus, boolean stationStatusInclude, Long wcId,Integer status, boolean include);
/**
* 获取所有区域
* @return
* @param isStart
*/
List<StationRegionVo> getStationRegionList(boolean isStart);
} }

@ -1098,43 +1098,19 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
* @return R<BoxbarcodeDetailsVO> 箱条码详细信息 * @return R<BoxbarcodeDetailsVO> 箱条码详细信息
*/ */
@Override @Override
public R getBoxbarcodeDetails(String orderBindId,String boxBarcode) { public R getBoxbarcodeDetails(String boxBarcode,boolean isDetail) {
List<OrderBind> orderBindList = null; List<OrderBind> orderBindList = null;
String bindBoxBarcode = null; String bindBoxBarcode = null;
// 参数互斥校验:只能传一个 if (isDetail) {
if (!StringUtils.isBlank(orderBindId) && !StringUtils.isBlank(boxBarcode)) {
return R.fail("orderBindId 和 boxBarcode 只能传入一个");
}
// orderBindId不为空时
if (!StringUtils.isBlank(orderBindId)) {
Long obId = Long.parseLong(orderBindId);
OrderBind orderBind = orderBindService.getById(obId);
if (null == orderBind) {
return R.fail("箱条码数据不存在");
}
if (StringUtils.isBlank(orderBind.getBoxBarcode())) {
return R.fail("箱条码不存在");
}
if (null == orderBind.getTaskId()) {
return R.fail("任务不存在");
}
// 使用查出来的 boxBarcode 和 taskId 继续查询
bindBoxBarcode = orderBind.getBoxBarcode();
Long taskId = orderBind.getTaskId();
orderBindList = orderBindService.list( orderBindList = orderBindService.list(
Wrappers.lambdaQuery(OrderBind.class) Wrappers.lambdaQuery(OrderBind.class)
.eq(OrderBind::getBoxBarcode, bindBoxBarcode) .eq(OrderBind::getBoxBarcode, boxBarcode)
.eq(OrderBind::getTaskId, taskId)
); );
} bindBoxBarcode = boxBarcode;
// boxBarcode不为空时
else if (!StringUtils.isBlank(boxBarcode)) { } else{
orderBindList = orderBindService.list( orderBindList = orderBindService.list(
Wrappers.lambdaQuery(OrderBind.class) Wrappers.lambdaQuery(OrderBind.class)
.eq(OrderBind::getBoxBarcode, boxBarcode) .eq(OrderBind::getBoxBarcode, boxBarcode)
@ -1142,10 +1118,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
); );
bindBoxBarcode = boxBarcode; bindBoxBarcode = boxBarcode;
} }
else {
return R.fail("请传入 orderBindId 或 boxBarcode");
}
// 无绑定记录直接返回默认值 // 无绑定记录直接返回默认值
@ -1315,7 +1287,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
} }
// 3. 查询最新任务关联的箱条码详情并填充VO // 3. 查询最新任务关联的箱条码详情并填充VO
R boxbarcodeDetailsR = getBoxbarcodeDetails(null, taskList.get(0).getBoxBarcode()); R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode(),false);
if (!boxbarcodeDetailsR.isSuccess()) { if (!boxbarcodeDetailsR.isSuccess()) {
return boxbarcodeDetailsR; return boxbarcodeDetailsR;
} }

@ -33,6 +33,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.logistics.mapper.StationMapper; import org.springblade.desk.logistics.mapper.StationMapper;
import org.springblade.desk.logistics.pojo.entity.Station; import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.pojo.vo.StationRegionVo;
import org.springblade.desk.logistics.pojo.vo.StationVO; import org.springblade.desk.logistics.pojo.vo.StationVO;
import org.springblade.desk.logistics.service.IStationService; import org.springblade.desk.logistics.service.IStationService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -103,4 +104,19 @@ public class StationServiceImpl extends BaseServiceImpl<StationMapper, Station>
return baseMapper.getStatusStationList(stationStatus,stationStatusInclude,wcId,status,include); return baseMapper.getStatusStationList(stationStatus,stationStatusInclude,wcId,status,include);
} }
@Override
public List<StationRegionVo> getStationRegionList(boolean isStart) {
List<StationRegionVo> stationRegionVoList = baseMapper.selectAllStationRegionList();
StationRegionVo additionalVo = new StationRegionVo();
if(isStart){
additionalVo.setStationRegion(Station.PICKUP_CONVEYOR_LINE_NAME);
} else {
additionalVo.setStationRegion(Station.DROPOFF_CONVEYOR_LINE_NAME);
}
stationRegionVoList.add(additionalVo);
return stationRegionVoList;
}
} }

@ -186,7 +186,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
// 任务对应的物料 - 处理空指针 // 任务对应的物料 - 处理空指针
if (StringUtils.isNotEmpty(boxBarcode)) { if (StringUtils.isNotEmpty(boxBarcode)) {
R boxbarcodeDetailsR = orderBoxService.getBoxbarcodeDetails(null, boxBarcode); R boxbarcodeDetailsR = orderBoxService.getBoxbarcodeDetails(boxBarcode,true);
if (boxbarcodeDetailsR != null && boxbarcodeDetailsR.isSuccess() && boxbarcodeDetailsR.getData() != null) { if (boxbarcodeDetailsR != null && boxbarcodeDetailsR.isSuccess() && boxbarcodeDetailsR.getData() != null) {
taskDetailsVO.setBoxbarcodeDetailsVO((BoxbarcodeDetailsVO) boxbarcodeDetailsR.getData()); taskDetailsVO.setBoxbarcodeDetailsVO((BoxbarcodeDetailsVO) boxbarcodeDetailsR.getData());
} }

Loading…
Cancel
Save