fix:修改压制工单、申请补满料盅托盘
This commit is contained in:
@@ -25,8 +25,8 @@
|
||||
<if test="query.material_spec != null">
|
||||
AND mm.material_spec LIKE '%${query.material_spec}%'
|
||||
</if>
|
||||
<if test="query.blurry != null">
|
||||
AND mm.material_model LIKE '%${query.material_model}%'
|
||||
<if test="query.material_code != null">
|
||||
AND mm.material_code LIKE '%${query.material_code}%'
|
||||
</if>
|
||||
) SELECT
|
||||
CTE.material_id,
|
||||
|
||||
@@ -21,6 +21,8 @@ public class ApplyTaskResponse extends BaseResponse {
|
||||
private String label_message;
|
||||
// 特殊业务-无具体含义:目前是是否满足码满规定托盘数
|
||||
private int is_satisfy;
|
||||
//分拣任务是否有需要物料
|
||||
private String is_needmaterial;
|
||||
|
||||
public static ApplyTaskResponse responseOk(String requestNo) {
|
||||
ApplyTaskResponse response = new ApplyTaskResponse();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.ext.acs.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
@@ -43,6 +44,7 @@ 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.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.constant.ExceptionConstant;
|
||||
@@ -53,6 +55,7 @@ import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.WorkOrderStatusEnum;
|
||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.fj.FJQLTask;
|
||||
import org.nl.wms.sch.task_manage.task.tasks.fj.mapper.FJMapper;
|
||||
import org.nl.wms.util.CommonUtils;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
@@ -67,6 +70,8 @@ import javax.annotation.PostConstruct;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@@ -184,6 +189,28 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
if (ObjectUtil.isEmpty(basePoint)) {
|
||||
throw new BadRequestException("点位错误!");
|
||||
}
|
||||
PdmBdWorkorder workorder = workorderService.getDeviceDockingProductionTask(deviceCode);
|
||||
String workorderCode = workorder.getWorkorder_code();
|
||||
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
|
||||
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
|
||||
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
|
||||
: null;
|
||||
if (ObjectUtil.isEmpty(workOrder)) {
|
||||
throw new BadRequestException("工单不能为空!");
|
||||
}
|
||||
// 从所选区域中,选择满料位、无锁、可用的点位
|
||||
List<String> regin = new ArrayList<>();
|
||||
regin.add("HCHJ");
|
||||
List<SchBasePoint> points = fjMapper.findPointForFJQL(regin, workOrder.getMaterial_id(), workOrder.getCustomer());
|
||||
if (ObjectUtil.isEmpty(points)) {
|
||||
ApplyTaskResponse response = new ApplyTaskResponse();
|
||||
response.setRequestNo(requestNo);
|
||||
response.setMessage("任务申请成功");
|
||||
response.setResponseDate(DateUtil.now());
|
||||
response.setCode(HttpStatus.HTTP_OK);
|
||||
response.setIs_needmaterial("0");
|
||||
return response;
|
||||
}
|
||||
String configCode = basePoint.getRegion_code() + "QLTask";
|
||||
// 组织参数
|
||||
param.put("config_code", configCode);
|
||||
|
||||
@@ -3,19 +3,17 @@
|
||||
<mapper namespace="org.nl.wms.sch.task_manage.task.tasks.fj.mapper.FJMapper">
|
||||
<select id="findPointForFJQL" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||
SELECT
|
||||
p.*,
|
||||
vg.group_id
|
||||
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'
|
||||
LEFT JOIN md_base_material ma ON ma.material_id = vg.material_id
|
||||
`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 vg.material_id = #{materialId}
|
||||
AND TIMESTAMPDIFF(MINUTE, vg.instorage_time, NOW()) >= ma.cooling_time
|
||||
AND vg.customer = #{customer}
|
||||
AND p.region_code IN
|
||||
AND p.is_used = 1
|
||||
AND p.point_status = '3'
|
||||
AND vg.material_id = #{materialId}
|
||||
AND p.region_code IN
|
||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
@@ -23,43 +21,41 @@
|
||||
</select>
|
||||
<select id="findPointForFJSK" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||
SELECT
|
||||
p.*
|
||||
p.*
|
||||
FROM
|
||||
`sch_base_point` p
|
||||
`sch_base_point` p
|
||||
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL)
|
||||
AND p.point_type = '3'
|
||||
AND p.region_code IN
|
||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
AND p.point_type = '3'
|
||||
AND p.region_code IN
|
||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="findPointForFJQK" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||
SELECT
|
||||
p.*
|
||||
p.*
|
||||
FROM
|
||||
`sch_base_point` p
|
||||
`sch_base_point` p
|
||||
WHERE (p.ing_task_code = '' OR p.ing_task_code IS NULL)
|
||||
AND p.point_type = #{fluentPut.pointType}
|
||||
AND p.vehicle_type = #{fluentPut.vehicleType}
|
||||
AND p.region_code IN
|
||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
AND p.point_type = #{fluentPut.pointType}
|
||||
AND p.vehicle_type = #{fluentPut.vehicleType}
|
||||
AND p.region_code IN
|
||||
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="getNeedFullNumber" resultType="java.lang.String">
|
||||
SELECT
|
||||
pack_method
|
||||
FROM
|
||||
`md_base_material`
|
||||
SELECT pack_method
|
||||
FROM `md_base_material`
|
||||
WHERE material_id = #{materialId}
|
||||
</select>
|
||||
<select id="getInventoryQuantity" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
IF(LENGTH(SUM(vg.material_qty)) > 0, SUM(vg.material_qty), 0) AS sum
|
||||
FROM
|
||||
`sch_base_point` p
|
||||
LEFT JOIN sch_base_vehiclematerialgroup vg ON vg.vehicle_code = p.vehicle_code AND vg.vehicle_type = p.vehicle_type AND vg.group_bind_material_status = '2'
|
||||
WHERE
|
||||
region_code = 'GTPHC' AND material_id = #{materialId}
|
||||
SELECT IF(LENGTH(SUM(vg.material_qty)) > 0, SUM(vg.material_qty), 0) AS sum
|
||||
FROM `sch_base_point` p
|
||||
LEFT JOIN sch_base_vehiclematerialgroup vg
|
||||
ON vg.vehicle_code = p.vehicle_code AND vg.vehicle_type = p.vehicle_type AND
|
||||
vg.group_bind_material_status = '2'
|
||||
WHERE region_code = 'GTPHC'
|
||||
AND material_id = #{materialId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -23,18 +23,19 @@
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品部位">
|
||||
|
||||
<el-form-item label="产品牌号">
|
||||
<el-input
|
||||
v-model="query.material_spec"
|
||||
v-model="query.material_code"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="物料名称"
|
||||
placeholder="产品牌号"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料型号">
|
||||
<el-form-item label="产品部位">
|
||||
<el-input
|
||||
v-model="query.material_model"
|
||||
v-model="query.material_spec"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="物料名称"
|
||||
|
||||
Reference in New Issue
Block a user