add:增加混碾货架->拆包机任务下发、压机上料位强制回货架、人工分拣 出窑缓存货架->人工分拣位、人工分拣送空盘接口;
fix:拆包机->混碾货架任务下发接口修改,修改组盘管理、点位管理页面和查询接口
This commit is contained in:
@@ -222,7 +222,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
if ("YZ".equals(basePoint.getRegion_code())){
|
if ("YZ".equals(basePoint.getRegion_code())){
|
||||||
List<String> regin = new ArrayList<>();
|
List<String> regin = new ArrayList<>();
|
||||||
regin.add("KL");
|
regin.add("KL");
|
||||||
List<SchBasePoint> points = yzMapper.findPointByYZQL(regin, workOrder.getMaterial_id());
|
MdBaseMaterial material = materialService.getById(workOrder.getMaterial_id());
|
||||||
|
List<SchBasePoint> points = yzMapper.findPointByYZQL(regin, material.getMaterial_code());
|
||||||
if (ObjectUtil.isEmpty(points)) {
|
if (ObjectUtil.isEmpty(points)) {
|
||||||
ApplyTaskResponse response = new ApplyTaskResponse();
|
ApplyTaskResponse response = new ApplyTaskResponse();
|
||||||
response.setRequestNo(requestNo);
|
response.setRequestNo(requestNo);
|
||||||
|
|||||||
@@ -270,9 +270,44 @@ public class PdaController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/hnmlTask")
|
@PostMapping("/hnmlTask")
|
||||||
@Log("工单完成")
|
@Log("拆包机->混碾货架任务下发")
|
||||||
@ApiOperation("工单完成")
|
@ApiOperation("拆包机->混碾货架任务下发")
|
||||||
public ResponseEntity<Object> hnmlTask(@RequestBody OrderFinishReq req) {
|
public ResponseEntity<Object> hnmlTask(@RequestBody OrderFinishReq req) {
|
||||||
return new ResponseEntity<>(pdaService.hnmlTask(req), HttpStatus.OK);
|
return new ResponseEntity<>(pdaService.hnmlTask(req), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/hnqkTask")
|
||||||
|
@Log("混碾货架->拆包机任务下发")
|
||||||
|
@ApiOperation("混碾货架->拆包机任务下发")
|
||||||
|
public ResponseEntity<Object> hnqkTask() {
|
||||||
|
return new ResponseEntity<>(pdaService.hnqkTask(), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/qzhhjTask")
|
||||||
|
@Log("压机上料位强制回货架")
|
||||||
|
@ApiOperation("压机上料位强制回货架")
|
||||||
|
public ResponseEntity<Object> qzhhjTask(@RequestBody ForceBackStorageReq req) {
|
||||||
|
return new ResponseEntity<>(pdaService.qzhhjTask(req), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/materialScrap")
|
||||||
|
@Log("物料报废")
|
||||||
|
@ApiOperation("物料报废")
|
||||||
|
public ResponseEntity<Object> materialScrap(@RequestBody OrderFinishReq req) {
|
||||||
|
return new ResponseEntity<>(pdaService.materialScrap(req), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/rgfjqlTask")
|
||||||
|
@Log("人工分拣 出窑缓存货架->人工分拣位")
|
||||||
|
@ApiOperation("人工分拣")
|
||||||
|
public ResponseEntity<Object> rgfjqlTask(@RequestBody FjReq req) {
|
||||||
|
return new ResponseEntity<>(pdaService.rgfjqlTask(req), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/rgfjskTask")
|
||||||
|
@Log("人工分拣送空盘")
|
||||||
|
@ApiOperation("人工分拣送空盘")
|
||||||
|
public ResponseEntity<Object> rgfjskTask(@RequestBody FjReq req) {
|
||||||
|
return new ResponseEntity<>(pdaService.rgfjskTask(req), HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,4 +69,14 @@ public interface PdaService {
|
|||||||
PdaResponseVo orderFinish(OrderFinishReq req);
|
PdaResponseVo orderFinish(OrderFinishReq req);
|
||||||
|
|
||||||
PdaResponseVo hnmlTask(OrderFinishReq req);
|
PdaResponseVo hnmlTask(OrderFinishReq req);
|
||||||
|
|
||||||
|
PdaResponseVo hnqkTask();
|
||||||
|
|
||||||
|
PdaResponseVo qzhhjTask(ForceBackStorageReq req);
|
||||||
|
|
||||||
|
PdaResponseVo materialScrap(OrderFinishReq req);
|
||||||
|
|
||||||
|
PdaResponseVo rgfjqlTask(FjReq req);
|
||||||
|
|
||||||
|
PdaResponseVo rgfjskTask(FjReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package org.nl.wms.pda.service.dao.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author sxp
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FjReq {
|
||||||
|
private String startPoint;
|
||||||
|
private String deviceCode;
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package org.nl.wms.pda.service.dao.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author sxp
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ForceBackStorageReq {
|
||||||
|
private String deviceCode;
|
||||||
|
}
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
package org.nl.wms.pda.service.dao.dto;
|
package org.nl.wms.pda.service.dao.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author sxp
|
* @author sxp
|
||||||
*/
|
*/
|
||||||
@@ -9,4 +12,5 @@ import lombok.Data;
|
|||||||
public class OrderFinishReq {
|
public class OrderFinishReq {
|
||||||
private String orderCode;
|
private String orderCode;
|
||||||
private String barCode;
|
private String barCode;
|
||||||
|
private String createTime;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import cn.hutool.core.util.IdUtil;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
@@ -39,6 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -425,8 +428,61 @@ public class PdaServiceImpl implements PdaService {
|
|||||||
param.put("config_code","HNMLTask");
|
param.put("config_code","HNMLTask");
|
||||||
param.put("vehicle_code", req.getBarCode());
|
param.put("vehicle_code", req.getBarCode());
|
||||||
param.put("workorder_code",req.getOrderCode());
|
param.put("workorder_code",req.getOrderCode());
|
||||||
|
param.put("create_time",req.getCreateTime());
|
||||||
taskService.apply(param);
|
taskService.apply(param);
|
||||||
return PdaResponseVo.pdaResultOk("包装入库请求成功");
|
return PdaResponseVo.pdaResultOk("满料入库请求成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo hnqkTask() {
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("device_code", "CBJ01");
|
||||||
|
param.put("config_code","HNQKTask");
|
||||||
|
taskService.apply(param);
|
||||||
|
return PdaResponseVo.pdaResultOk("空蛊出库请求成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo qzhhjTask(ForceBackStorageReq req) {
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("device_code", req.getDeviceCode());
|
||||||
|
param.put("config_code","YZSLWHKTask");
|
||||||
|
taskService.apply(param);
|
||||||
|
return PdaResponseVo.pdaResultOk("压制上料位强制回库请求成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo materialScrap(OrderFinishReq req) {
|
||||||
|
if (StringUtils.isEmpty(req.getBarCode())) {
|
||||||
|
throw new BadRequestException("条码不能为空");
|
||||||
|
}
|
||||||
|
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getByVehicleCode(req.getBarCode());
|
||||||
|
if (null == groupInfo){
|
||||||
|
throw new RuntimeException("未查询到该组盘信息");
|
||||||
|
}
|
||||||
|
vehiclematerialgroupService.removeById(groupInfo.getGroup_id());
|
||||||
|
return PdaResponseVo.pdaResultOk("物料作废成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo rgfjqlTask(FjReq req) {
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("task_type","RGFJQL");
|
||||||
|
param.put("point_code1", req.getStartPoint());
|
||||||
|
param.put("device_code", req.getDeviceCode());
|
||||||
|
param.put("config_code","FJQLTask");
|
||||||
|
taskService.apply(param);
|
||||||
|
return PdaResponseVo.pdaResultOk("人工分拣缺料请求成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo rgfjskTask(FjReq req) {
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("device_code", req.getDeviceCode());
|
||||||
|
param.put("config_code","FJSKTask");
|
||||||
|
taskService.apply(param);
|
||||||
|
return PdaResponseVo.pdaResultOk("人工分拣送空请求成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -93,4 +93,8 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
|||||||
* @param vehicleType
|
* @param vehicleType
|
||||||
*/
|
*/
|
||||||
void unBindingSameVehicleMaterial(String vehicleCode, String vehicleType);
|
void unBindingSameVehicleMaterial(String vehicleCode, String vehicleType);
|
||||||
|
|
||||||
|
SchBaseVehiclematerialgroup getByVehicleCode(String barCode);
|
||||||
|
|
||||||
|
SchBaseVehiclematerialgroup getByPointCode(String pointCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,6 +161,8 @@ public class SchBaseVehiclematerialgroup implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String material_spec;
|
private String material_spec;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
|
private String material_model;
|
||||||
|
@TableField(exist = false)
|
||||||
private String region_name;
|
private String region_name;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String group_bind_material_status_name;
|
private String group_bind_material_status_name;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
, ma.material_code
|
, ma.material_code
|
||||||
, ma.material_spec
|
, ma.material_spec
|
||||||
, po.region_name
|
, po.region_name
|
||||||
|
, ma.material_model
|
||||||
FROM sch_base_vehiclematerialgroup vg
|
FROM sch_base_vehiclematerialgroup vg
|
||||||
LEFT JOIN md_base_material ma ON vg.material_id = ma.material_id
|
LEFT JOIN md_base_material ma ON vg.material_id = ma.material_id
|
||||||
LEFT JOIN sch_base_point po ON po.point_code = vg.point_code
|
LEFT JOIN sch_base_point po ON po.point_code = vg.point_code
|
||||||
|
|||||||
@@ -151,4 +151,21 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
this.updateBatchById(list);
|
this.updateBatchById(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SchBaseVehiclematerialgroup getByVehicleCode(String barCode) {
|
||||||
|
LambdaQueryWrapper<SchBaseVehiclematerialgroup> lambda = new QueryWrapper<SchBaseVehiclematerialgroup>().lambda();
|
||||||
|
lambda.eq(SchBaseVehiclematerialgroup::getVehicle_code, barCode)
|
||||||
|
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue())
|
||||||
|
.eq(SchBaseVehiclematerialgroup::getIs_delete, false);
|
||||||
|
return vehiclematerialgroupMapper.selectOne(lambda);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SchBaseVehiclematerialgroup getByPointCode(String pointCode) {
|
||||||
|
LambdaQueryWrapper<SchBaseVehiclematerialgroup> lambda = new QueryWrapper<SchBaseVehiclematerialgroup>().lambda();
|
||||||
|
lambda.eq(SchBaseVehiclematerialgroup::getPoint_code, pointCode)
|
||||||
|
.eq(SchBaseVehiclematerialgroup::getIs_delete, false);
|
||||||
|
return vehiclematerialgroupMapper.selectOne(lambda);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,4 +56,5 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
|||||||
*/
|
*/
|
||||||
List<SchBasePoint> getPointList(SchBasePoint region);
|
List<SchBasePoint> getPointList(SchBasePoint region);
|
||||||
|
|
||||||
|
SchBasePoint selectById(String pointCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,4 +147,16 @@ public class SchBasePoint implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String device_code;
|
private String device_code;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String material_code;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String material_spec;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String material_model;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String customer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,4 +17,8 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
|||||||
* @param used
|
* @param used
|
||||||
*/
|
*/
|
||||||
void batchChangeUsed(List<String> pointCodes, Boolean used);
|
void batchChangeUsed(List<String> pointCodes, Boolean used);
|
||||||
|
|
||||||
|
SchBasePoint selectByCode(String pointCode);
|
||||||
|
|
||||||
|
SchBasePoint selectMaterialInfo(String pointCode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,25 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</where>
|
</where>
|
||||||
</update>
|
</update>
|
||||||
|
<select id="selectByCode" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||||
|
SELECT p.*,
|
||||||
|
vg.group_id
|
||||||
|
FROM `sch_base_point` p
|
||||||
|
LEFT JOIN sch_base_vehiclematerialgroup vg ON p.vehicle_code = vg.vehicle_code
|
||||||
|
AND p.vehicle_type = vg.vehicle_type AND vg.group_bind_material_status = '2'
|
||||||
|
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL)
|
||||||
|
AND p.is_used = 1
|
||||||
|
AND p.point_status = '3'
|
||||||
|
and p.point_code = #{pointCode}
|
||||||
|
</select>
|
||||||
|
<select id="selectMaterialInfo" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||||
|
select m.material_code, m.material_spec, m.material_model, mcc.cust_name as customer
|
||||||
|
from sch_base_vehiclematerialgroup vg
|
||||||
|
left join md_base_material m on vg.material_id = m.material_id
|
||||||
|
left join md_cs_customerbase mcc on vg.customer = mcc.cust_id
|
||||||
|
where vg.point_code = #{pointCode}
|
||||||
|
and vg.is_delete='0'
|
||||||
|
and vg.group_bind_material_status = '2'
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -101,6 +101,14 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
regionObj.getPoint_type_explain(), pointType));
|
regionObj.getPoint_type_explain(), pointType));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
SchBasePoint point1 = pointMapper.selectMaterialInfo(point.getPoint_code());
|
||||||
|
if (null != point1){
|
||||||
|
point.setCustomer(point1.getCustomer());
|
||||||
|
point.setMaterial_code(point1.getMaterial_code());
|
||||||
|
point.setMaterial_model(point1.getMaterial_model());
|
||||||
|
point.setMaterial_code(point1.getMaterial_code());
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
@@ -196,4 +204,9 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
.eq(SchBasePoint::getIs_has_workder, true));
|
.eq(SchBasePoint::getIs_has_workder, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SchBasePoint selectById(String pointCode) {
|
||||||
|
return pointMapper.selectByCode(pointCode);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.lang.Assert;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.system.service.notice.ISysNoticeService;
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
import org.nl.wms.pdm.track.service.IPdmBdProductionProcessTrackingService;
|
import org.nl.wms.pdm.track.service.IPdmBdProductionProcessTrackingService;
|
||||||
@@ -62,6 +63,7 @@ public class FJQLTask extends AbstractTask {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPdmBdProductionProcessTrackingService processTrackingService;
|
private IPdmBdProductionProcessTrackingService processTrackingService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void create() throws BadRequestException {
|
protected void create() throws BadRequestException {
|
||||||
// 获取任务
|
// 获取任务
|
||||||
@@ -95,7 +97,6 @@ public class FJQLTask extends AbstractTask {
|
|||||||
task.setGroup_id(point.getGroup_id());
|
task.setGroup_id(point.getGroup_id());
|
||||||
task.setRemark("");
|
task.setRemark("");
|
||||||
taskService.updateById(task);
|
taskService.updateById(task);
|
||||||
|
|
||||||
point.setIng_task_code(task.getTask_code());
|
point.setIng_task_code(task.getTask_code());
|
||||||
PointUtils.setUpdateByAcs(point);
|
PointUtils.setUpdateByAcs(point);
|
||||||
pointService.updateById(point);
|
pointService.updateById(point);
|
||||||
@@ -139,11 +140,16 @@ public class FJQLTask extends AbstractTask {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 找起点:到钢托盘缓存找一个物料与分拣工单的物料相同的物料
|
* 找起点:到钢托盘缓存找一个物料与分拣工单的物料相同的物料
|
||||||
|
*
|
||||||
* @param startRegionStr
|
* @param startRegionStr
|
||||||
* @param requestParam
|
* @param requestParam
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject requestParam) {
|
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject requestParam) {
|
||||||
|
String taskType = requestParam.getString("task_type");
|
||||||
|
if (!StringUtils.isEmpty(taskType) && "RGFJQL".equals(taskType)) {
|
||||||
|
return pointService.selectById(requestParam.getString("point_code1"));
|
||||||
|
}
|
||||||
// 获取当前工单
|
// 获取当前工单
|
||||||
String workorderCode = requestParam.getString("workorder_code");
|
String workorderCode = requestParam.getString("workorder_code");
|
||||||
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
|
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ public class HNMLTask extends AbstractTask {
|
|||||||
String deviceCode = param.getString("device_code");
|
String deviceCode = param.getString("device_code");
|
||||||
BigDecimal weight = param.getBigDecimal("weight");
|
BigDecimal weight = param.getBigDecimal("weight");
|
||||||
// 泥料号
|
// 泥料号
|
||||||
String materialCode = param.getString("material_code");
|
// String materialCode = param.getString("material_code");
|
||||||
PdmBdWorkorder productionTask = workorderService.getByCode(param.getString("workorder_code"));
|
PdmBdWorkorder productionTask = workorderService.getByCode(param.getString("workorder_code"));
|
||||||
|
|
||||||
// 获取工单
|
// 获取工单
|
||||||
@@ -294,10 +294,10 @@ public class HNMLTask extends AbstractTask {
|
|||||||
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||||
// 要把数据存到组盘表
|
// 要把数据存到组盘表
|
||||||
groupEntity.setMaterial_id(productionTask.getMaterial_id());
|
groupEntity.setMaterial_id(productionTask.getMaterial_id());
|
||||||
groupEntity.setRedundance_material_code(materialCode);
|
groupEntity.setRedundance_material_code(productionTask.getRaw_material_code());
|
||||||
groupEntity.setCreate_id(GeneralDefinition.ACS_ID);
|
groupEntity.setCreate_id(GeneralDefinition.ACS_ID);
|
||||||
groupEntity.setCreate_name(GeneralDefinition.ACS_NAME);
|
groupEntity.setCreate_name(GeneralDefinition.ACS_NAME);
|
||||||
groupEntity.setCreate_time(DateUtil.now());
|
groupEntity.setCreate_time(param.getString("create_time"));
|
||||||
groupEntity.setVehicle_code(vehicleCode);
|
groupEntity.setVehicle_code(vehicleCode);
|
||||||
groupEntity.setVehicle_type(vehicleType);
|
groupEntity.setVehicle_type(vehicleType);
|
||||||
groupEntity.setSource_vehicle_code(basePoint.getPoint_code());
|
groupEntity.setSource_vehicle_code(basePoint.getPoint_code());
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.system.service.notice.ISysNoticeService;
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
import org.nl.wms.database.material.service.IMdBaseMaterialService;
|
import org.nl.wms.database.material.service.IMdBaseMaterialService;
|
||||||
@@ -167,20 +168,21 @@ public class YZQLTask extends AbstractTask {
|
|||||||
* 找起点业务:查找困料货架的泥料是和压机工单的泥料相同的位置
|
* 找起点业务:查找困料货架的泥料是和压机工单的泥料相同的位置
|
||||||
* 如果是新料口就选择新料,如果是旧料口就选旧料
|
* 如果是新料口就选择新料,如果是旧料口就选旧料
|
||||||
* @param startRegionStr : 区域列表
|
* @param startRegionStr : 区域列表
|
||||||
* @param extGroupData : 外部参数,包含条件所需的信息
|
* @param requestParam : 外部参数,包含条件所需的信息
|
||||||
* @return 点位
|
* @return 点位
|
||||||
* @description : JSONObject获取不到就是null
|
* @description : JSONObject获取不到就是null
|
||||||
*/
|
*/
|
||||||
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject extGroupData) {
|
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject requestParam) {
|
||||||
// 获取当前工单
|
// 获取当前工单
|
||||||
String workorderCode = extGroupData.getString("workorder_code");
|
String workorderCode = requestParam.getString("workorder_code");
|
||||||
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
|
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
|
||||||
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
|
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
|
||||||
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
|
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
|
||||||
: null;
|
: null;
|
||||||
Assert.notNull(workOrder, "工单不能为空!");
|
Assert.notNull(workOrder, "工单不能为空!");
|
||||||
|
MdBaseMaterial material = materialService.getById(workOrder.getMaterial_id());
|
||||||
// hint: redundance_material_code暂时存在着
|
// hint: redundance_material_code暂时存在着
|
||||||
List<SchBasePoint> points = yzMapper.findPointByYZQL(startRegionStr, workOrder.getMaterial_id());
|
List<SchBasePoint> points = yzMapper.findPointByYZQL(startRegionStr, material.getMaterial_code());
|
||||||
return ObjectUtil.isNotEmpty(points) ? points.get(0) : null;
|
return ObjectUtil.isNotEmpty(points) ? points.get(0) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,243 @@
|
|||||||
|
package org.nl.wms.sch.task_manage.task.tasks.yz;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.system.service.notice.ISysNoticeService;
|
||||||
|
import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder;
|
||||||
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||||
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
|
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||||
|
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||||
|
import org.nl.wms.sch.task_manage.constant.GeneralDefinition;
|
||||||
|
import org.nl.wms.sch.task_manage.enums.*;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
|
import org.nl.wms.util.PointUtils;
|
||||||
|
import org.nl.wms.util.TaskUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: lyd
|
||||||
|
* @Description: 压制上料位强制回库
|
||||||
|
* @Date: 2023/5/25
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component("YZSLWHKTask")
|
||||||
|
public class YZSLWHKTask extends AbstractTask {
|
||||||
|
private static final String TASK_CONFIG_CODE = "YZSLWHKTask";
|
||||||
|
@Autowired
|
||||||
|
private ISchBasePointService pointService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseTaskconfigService taskConfigService;
|
||||||
|
@Autowired
|
||||||
|
private ISysNoticeService noticeService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISchBaseVehiclematerialgroupService vehiclematerialgroupService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
protected void createCompletion(SchBaseTask task) {
|
||||||
|
// 配置信息
|
||||||
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||||
|
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||||
|
TaskUtils.setUpdateByAcs(task); // 修改修改者
|
||||||
|
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 找终点
|
||||||
|
SchBasePoint point = findNextPoint(nextRegionStr);
|
||||||
|
if (ObjectUtil.isEmpty(point)) {
|
||||||
|
// 消息通知
|
||||||
|
noticeService.createNotice("强制入库任务未找到空库位!", TASK_CONFIG_CODE + task.getPoint_code1(),
|
||||||
|
NoticeTypeEnum.WARN.getCode());
|
||||||
|
throw new BadRequestException("强制入库任务未找到空库位!");
|
||||||
|
}
|
||||||
|
// 设置终点并修改创建成功状态
|
||||||
|
task.setPoint_code2(point.getPoint_code());
|
||||||
|
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||||
|
if (task.getVehicle_type() == null) {
|
||||||
|
task.setVehicle_type(GeneralDefinition.MATERIAL_CUP);
|
||||||
|
}
|
||||||
|
taskService.save(task);
|
||||||
|
|
||||||
|
point.setIng_task_code(task.getTask_code());
|
||||||
|
PointUtils.setUpdateByAcs(point);
|
||||||
|
pointService.updateById(point);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
protected void create() throws BadRequestException {
|
||||||
|
// 获取任务
|
||||||
|
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||||
|
// 配置信息
|
||||||
|
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||||
|
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||||
|
for (SchBaseTask task : tasks) {
|
||||||
|
TaskUtils.setUpdateByAcs(task); // 修改修改者
|
||||||
|
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(","))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 找终点
|
||||||
|
String requestParam = task.getRequest_param();
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(requestParam);
|
||||||
|
SchBasePoint point = findNextPoint(nextRegionStr);
|
||||||
|
String vehicleType = jsonObject.getString("vehicle_type");
|
||||||
|
if (ObjectUtil.isEmpty(point)) {
|
||||||
|
task.setRemark("强制入库任务未找到空库位!");
|
||||||
|
taskService.updateById(task);
|
||||||
|
// 消息通知
|
||||||
|
noticeService.createNotice(task.getRemark(), TASK_CONFIG_CODE + task.getTask_code(),
|
||||||
|
NoticeTypeEnum.WARN.getCode());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 设置终点并修改创建成功状态
|
||||||
|
task.setPoint_code2(point.getPoint_code());
|
||||||
|
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||||
|
if (task.getVehicle_type() == null) {
|
||||||
|
task.setVehicle_type(vehicleType != null ? vehicleType : GeneralDefinition.MATERIAL_CUP);
|
||||||
|
}
|
||||||
|
taskService.updateById(task);
|
||||||
|
|
||||||
|
point.setIng_task_code(task.getTask_code());
|
||||||
|
PointUtils.setUpdateByAcs(point);
|
||||||
|
pointService.updateById(point);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 在混料区域找一个空位放着
|
||||||
|
*
|
||||||
|
* @param nextRegionStr
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private SchBasePoint findNextPoint(List<String> nextRegionStr) {
|
||||||
|
// 载具已经设置可为空,当不需要校验工单时候也不会出现空指针
|
||||||
|
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
|
||||||
|
lam.in(SchBasePoint::getRegion_code, nextRegionStr)
|
||||||
|
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||||
|
.and(la -> la.isNull(SchBasePoint::getIng_task_code) // 当前执行的任务为空或者NULL,有数据表示锁住
|
||||||
|
.or()
|
||||||
|
.eq(SchBasePoint::getIng_task_code, ""))
|
||||||
|
.eq(SchBasePoint::getIs_used, true)
|
||||||
|
.orderByAsc(SchBasePoint::getIn_order_seq)
|
||||||
|
.orderByAsc(SchBasePoint::getPoint_code);
|
||||||
|
List<SchBasePoint> schBasePoints = pointService.list(lam);
|
||||||
|
return ObjectUtil.isNotEmpty(schBasePoints) ? schBasePoints.get(0) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
protected void updateStatus(String task_code, TaskStatus status) {
|
||||||
|
// 校验任务
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) {
|
||||||
|
throw new BadRequestException("该任务已完成!");
|
||||||
|
}
|
||||||
|
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
|
||||||
|
throw new BadRequestException("该任务已取消!");
|
||||||
|
}
|
||||||
|
// 根据传来的类型去对任务进行操作
|
||||||
|
if (status.equals(TaskStatus.EXECUTING)) {
|
||||||
|
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||||
|
taskObj.setRemark("执行中");
|
||||||
|
TaskUtils.setUpdateByAcs(taskObj);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
if (status.equals(TaskStatus.FINISHED)) {
|
||||||
|
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||||
|
}
|
||||||
|
if (status.equals(TaskStatus.CANCELED)) {
|
||||||
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void forceFinish(String task_code) {
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel(String task_code) {
|
||||||
|
SchBaseTask taskObj = taskService.getByCode(task_code);
|
||||||
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
|
throw new BadRequestException("该任务不存在");
|
||||||
|
}
|
||||||
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
String pointCode1 = taskObj.getPoint_code1();
|
||||||
|
SchBasePoint startPoint = pointService.getById(pointCode1);
|
||||||
|
PointUtils.clearPoint(startPoint);
|
||||||
|
String endPoint = taskObj.getPoint_code2(); // 获取终点
|
||||||
|
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||||
|
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getByPointCode(pointCode1);
|
||||||
|
if (null == groupInfo) {
|
||||||
|
throw new BadRequestException("未查询到上料位组盘信息");
|
||||||
|
}
|
||||||
|
// 设置载具类型、点位状态、释放点位
|
||||||
|
if (ObjectUtil.isNotEmpty(endPoint)) {
|
||||||
|
// SimpleDateFormat dateFormat = new SimpleDateFormat("yy-");
|
||||||
|
// String format = dateFormat.format(DateUtil.now());
|
||||||
|
groupInfo.setInstorage_time(DateUtil.now());
|
||||||
|
groupInfo.setPoint_code(endPoint);
|
||||||
|
groupInfo.setMove_way(groupInfo.getMove_way() + "->" + startPoint.getPoint_code()+"->"+ endPoint);
|
||||||
|
groupInfo.setPoint_name(endPointObj.getPoint_name());
|
||||||
|
groupInfo.setUpdate_time(DateUtil.now());
|
||||||
|
vehiclematerialgroupService.updateById(groupInfo);
|
||||||
|
endPointObj.setIng_task_code("");
|
||||||
|
endPointObj.setVehicle_type(groupInfo.getVehicle_type());
|
||||||
|
endPointObj.setVehicle_qty(1);
|
||||||
|
endPointObj.setVehicle_code(groupInfo.getVehicle_code());
|
||||||
|
endPointObj.setPoint_status(PointStatusEnum.FULL_POINT.getCode());
|
||||||
|
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||||
|
pointService.updateById(endPointObj);
|
||||||
|
}
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_FINISH);
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType); // 区分完成者
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
// 获取参数
|
||||||
|
String endPoint = taskObj.getPoint_code2(); // 获取终点
|
||||||
|
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||||
|
// 释放点位
|
||||||
|
if (ObjectUtil.isNotEmpty(endPoint)) {
|
||||||
|
endPointObj.setIng_task_code("");
|
||||||
|
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||||
|
pointService.updateById(endPointObj);
|
||||||
|
}
|
||||||
|
taskObj.setRemark(GeneralDefinition.TASK_CANCEL);
|
||||||
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
|
taskObj.setFinished_type(taskFinishedType.getCode());
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
|
taskService.updateById(taskObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,10 +21,10 @@ public interface YZMapper {
|
|||||||
/**
|
/**
|
||||||
* 根据泥料id获取
|
* 根据泥料id获取
|
||||||
* @param regionCode
|
* @param regionCode
|
||||||
* @param materialId
|
* @param materialCode
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SchBasePoint> findPointByYZQL(List<String> regionCode, String materialId);
|
List<SchBasePoint> findPointByYZQL(List<String> regionCode, String materialCode);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,8 @@
|
|||||||
LEFT JOIN sch_base_vehiclematerialgroup vg ON p.vehicle_code = vg.vehicle_code
|
LEFT JOIN sch_base_vehiclematerialgroup vg ON p.vehicle_code = vg.vehicle_code
|
||||||
AND p.vehicle_type = vg.vehicle_type AND vg.group_bind_material_status = '2'
|
AND p.vehicle_type = vg.vehicle_type AND vg.group_bind_material_status = '2'
|
||||||
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL) AND p.point_status = '3'
|
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL) AND p.point_status = '3'
|
||||||
AND vg.group_id IS NOT NULL AND vg.material_id = #{materialId}
|
AND vg.group_id IS NOT NULL AND vg.redundance_material_code = #{materialCode}
|
||||||
|
AND TIMESTAMPDIFF(MINUTE, vg.instorage_time, NOW()) >= vg.standing_time
|
||||||
AND p.region_code IN
|
AND p.region_code IN
|
||||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||||
#{code}
|
#{code}
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
</crudOperation>
|
</crudOperation>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="填写条码"
|
title="填写信息"
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
width="30%">
|
width="30%">
|
||||||
<el-form
|
<el-form
|
||||||
@@ -122,6 +122,14 @@
|
|||||||
<el-form-item label="条码">
|
<el-form-item label="条码">
|
||||||
<el-input v-model="barcodeForm.barcode" />
|
<el-input v-model="barcodeForm.barcode" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="barcodeForm.createTime"
|
||||||
|
type="datetime"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="选择日期时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="info" @click="dialogCancle">取消</el-button>
|
<el-button type="info" @click="dialogCancle">取消</el-button>
|
||||||
@@ -283,7 +291,7 @@
|
|||||||
<el-form-item label="静置时间(分钟)" prop="standing_time" v-if="form.region_code === 'HN'">
|
<el-form-item label="静置时间(分钟)" prop="standing_time" v-if="form.region_code === 'HN'">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model.number="form.standing_time"
|
v-model.number="form.standing_time"
|
||||||
:min="0"
|
:min="1"
|
||||||
:max="999"
|
:max="999"
|
||||||
style="width: 240px;"
|
style="width: 240px;"
|
||||||
/>
|
/>
|
||||||
@@ -694,7 +702,8 @@ export default {
|
|||||||
this.fullscreenLoading = true
|
this.fullscreenLoading = true
|
||||||
let param = {
|
let param = {
|
||||||
orderCode:this.orderCode,
|
orderCode:this.orderCode,
|
||||||
barCode:this.barcodeForm.barcode
|
barCode:this.barcodeForm.barcode,
|
||||||
|
createTime:this.barcodeForm.createTime
|
||||||
}
|
}
|
||||||
crudPdmBdWorkorder.hnmlTask(param).then(res => {
|
crudPdmBdWorkorder.hnmlTask(param).then(res => {
|
||||||
this.crud.notify('任务下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('任务下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
|||||||
@@ -175,12 +175,15 @@
|
|||||||
<el-form-item label="物料名称">
|
<el-form-item label="物料名称">
|
||||||
<el-input v-model="form.material_name" clearable style="width: 240px;" @clear="clearMaterial" @focus="getMaterial" />
|
<el-input v-model="form.material_name" clearable style="width: 240px;" @clear="clearMaterial" @focus="getMaterial" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料编码">
|
<el-form-item label="产品牌号">
|
||||||
<el-input v-model="form.material_code" disabled style="width: 240px;" />
|
<el-input v-model="form.material_code" disabled style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料规格">
|
<el-form-item label="产品部位">
|
||||||
<el-input v-model="form.material_spec" disabled style="width: 240px;" />
|
<el-input v-model="form.material_spec" disabled style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="物料型号">
|
||||||
|
<el-input v-model="form.material_model" disabled style="width: 240px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="组盘次数">
|
<el-form-item label="组盘次数">
|
||||||
<el-input v-model="form.group_number" style="width: 240px;" />
|
<el-input v-model="form.group_number" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -296,8 +299,9 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="standing_time" label="静置时间(分钟)" :min-width="flexWidth('standing_time',crud.data,'静置时间(分钟)')" />
|
<el-table-column prop="standing_time" label="静置时间(分钟)" :min-width="flexWidth('standing_time',crud.data,'静置时间(分钟)')" />
|
||||||
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||||
<el-table-column prop="material_code" label="物料编码" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
<el-table-column prop="material_code" label="产品牌号" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||||
<el-table-column prop="material_spec" label="物料规格" :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
<el-table-column prop="material_spec" label="产品部位" :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||||
|
<el-table-column prop="material_model" label="物料型号" :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||||
<el-table-column prop="material_qty" label="物料数量" :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
<el-table-column prop="material_qty" label="物料数量" :min-width="flexWidth('material_qty',crud.data,'物料数量')" />
|
||||||
<el-table-column prop="material_weight" label="物料重量" :min-width="flexWidth('material_weight',crud.data,'物料重量')" />
|
<el-table-column prop="material_weight" label="物料重量" :min-width="flexWidth('material_weight',crud.data,'物料重量')" />
|
||||||
<el-table-column prop="group_number" label="组盘次数" :min-width="flexWidth('group_number',crud.data,'组盘次数')" />
|
<el-table-column prop="group_number" label="组盘次数" :min-width="flexWidth('group_number',crud.data,'组盘次数')" />
|
||||||
@@ -469,6 +473,7 @@ export default {
|
|||||||
this.form.material_name = row.material_name
|
this.form.material_name = row.material_name
|
||||||
this.form.material_id = row.material_id
|
this.form.material_id = row.material_id
|
||||||
this.form.material_spec = row.material_spec
|
this.form.material_spec = row.material_spec
|
||||||
|
this.form.material_model = row.material_model
|
||||||
this.form.material_code = row.material_code
|
this.form.material_code = row.material_code
|
||||||
this.form.redundance_material_code = row.raw_material_code
|
this.form.redundance_material_code = row.raw_material_code
|
||||||
if (this.choose === '工单') {
|
if (this.choose === '工单') {
|
||||||
@@ -480,6 +485,7 @@ export default {
|
|||||||
this.form.material_id = null
|
this.form.material_id = null
|
||||||
this.form.material_spec = null
|
this.form.material_spec = null
|
||||||
this.form.material_code = null
|
this.form.material_code = null
|
||||||
|
this.form.material_code = null
|
||||||
this.form.redundance_material_code = null
|
this.form.redundance_material_code = null
|
||||||
},
|
},
|
||||||
setPointName(data) {
|
setPointName(data) {
|
||||||
|
|||||||
@@ -267,6 +267,10 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
|
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
|
||||||
|
<el-table-column prop="material_code" label="产品牌号" show-overflow-tooltip :min-width="flexWidth('material_qty',crud.data,'产品牌号')" />
|
||||||
|
<el-table-column prop="material_spec" label="产品部位" :min-width="flexWidth('material_qty',crud.data,'产品部位')" />
|
||||||
|
<el-table-column prop="material_model" label="物料型号" :min-width="flexWidth('material_qty',crud.data,'物料型号')" />
|
||||||
|
<el-table-column prop="customer" label="客户名称" :min-width="flexWidth('material_qty',crud.data,'客户名称')" />
|
||||||
<el-table-column prop="vehicle_qty" label="载具数量" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />
|
<el-table-column prop="vehicle_qty" label="载具数量" :min-width="flexWidth('vehicle_qty',crud.data,'载具数量')" />
|
||||||
<el-table-column label="是否锁定" :min-width="flexWidth('vehicle_qty',crud.data,'是否锁定')">
|
<el-table-column label="是否锁定" :min-width="flexWidth('vehicle_qty',crud.data,'是否锁定')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|||||||
Reference in New Issue
Block a user