add:增加混碾满料接口,混碾工单增加任务下发和工单完成功能,物料维护增加泥料编码
This commit is contained in:
@@ -61,4 +61,6 @@ public interface AcsToWmsService {
|
|||||||
BaseResponse woodenPalletBinding(JSONObject param);
|
BaseResponse woodenPalletBinding(JSONObject param);
|
||||||
|
|
||||||
JSONObject errorDeviceRecord(JSONObject param);
|
JSONObject errorDeviceRecord(JSONObject param);
|
||||||
|
/** 混碾机满料 任务不下发*/
|
||||||
|
BaseResponse mixFull(JSONObject param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -580,6 +580,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
return BaseResponse.responseError(requestNo, "未找到工单号[" + workorderCode + "]的记录!");
|
return BaseResponse.responseError(requestNo, "未找到工单号[" + workorderCode + "]的记录!");
|
||||||
}
|
}
|
||||||
bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode());
|
bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode());
|
||||||
|
//如果是混碾工单,则先暂存,手持或者lms那边再手动进行工单完成
|
||||||
|
if("HN".equals(bdWorkorder.getRegion_code())){
|
||||||
|
bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.STAGING.getCode());
|
||||||
|
}
|
||||||
bdWorkorder.setRealproduceend_date(DateUtil.now());
|
bdWorkorder.setRealproduceend_date(DateUtil.now());
|
||||||
TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder);
|
TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder);
|
||||||
// 统计合不合格数量到工单字段中
|
// 统计合不合格数量到工单字段中
|
||||||
@@ -1059,4 +1063,27 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
result.put("message", "故障上报完成!");
|
result.put("message", "故障上报完成!");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse mixFull(JSONObject param) {
|
||||||
|
String requestNo = param.getString("requestNo");
|
||||||
|
String workorderCode = param.getString("order_code");
|
||||||
|
// String deviceCode = param.getString("device_code");
|
||||||
|
String weight = param.getString("weight");
|
||||||
|
if (ObjectUtil.isEmpty(workorderCode)) {
|
||||||
|
return BaseResponse.responseError(requestNo,"工单号不能为空");
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(weight)) {
|
||||||
|
return BaseResponse.responseError(requestNo,"生产重量不能为空");
|
||||||
|
}
|
||||||
|
PdmBdWorkorder workorder = workorderService.getByCode(workorderCode);
|
||||||
|
if (ObjectUtil.isEmpty(workorder)){
|
||||||
|
return BaseResponse.responseError(requestNo,"未查询到相应工单");
|
||||||
|
}
|
||||||
|
BigDecimal bigDecimal = BigDecimal.valueOf(Long.parseLong(weight));
|
||||||
|
workorder.setReal_weight(workorder.getReal_weight().add(bigDecimal));
|
||||||
|
workorder.setWorkorder_status(WorkOrderStatusEnum.STAGING.getCode());
|
||||||
|
workorderService.update(workorder);
|
||||||
|
return BaseResponse.responseOk(requestNo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -261,4 +261,18 @@ public class PdaController {
|
|||||||
return new ResponseEntity<>(pdaService.updateData(shelfSaveDto), HttpStatus.OK);
|
return new ResponseEntity<>(pdaService.updateData(shelfSaveDto), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/orderFinish")
|
||||||
|
@Log("工单完成")
|
||||||
|
@ApiOperation("工单完成")
|
||||||
|
public ResponseEntity<Object> orderFinish(@RequestBody OrderFinishReq req) {
|
||||||
|
return new ResponseEntity<>(pdaService.orderFinish(req), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/hnmlTask")
|
||||||
|
@Log("工单完成")
|
||||||
|
@ApiOperation("工单完成")
|
||||||
|
public ResponseEntity<Object> hnmlTask(@RequestBody OrderFinishReq req) {
|
||||||
|
return new ResponseEntity<>(pdaService.hnmlTask(req), HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,4 +65,8 @@ public interface PdaService {
|
|||||||
PdaResponseVo updateData(ShelfSaveDto shelfSaveDto);
|
PdaResponseVo updateData(ShelfSaveDto shelfSaveDto);
|
||||||
|
|
||||||
List<DropdownListVo> pressPointList();
|
List<DropdownListVo> pressPointList();
|
||||||
|
|
||||||
|
PdaResponseVo orderFinish(OrderFinishReq req);
|
||||||
|
|
||||||
|
PdaResponseVo hnmlTask(OrderFinishReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package org.nl.wms.pda.service.dao.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author sxp
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderFinishReq {
|
||||||
|
private String orderCode;
|
||||||
|
private String barCode;
|
||||||
|
}
|
||||||
@@ -6,11 +6,13 @@ 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 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.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.wms.database.material.service.IMdBaseMaterialService;
|
import org.nl.wms.database.material.service.IMdBaseMaterialService;
|
||||||
import org.nl.wms.database.material.service.dao.MdBaseMaterial;
|
import org.nl.wms.database.material.service.dao.MdBaseMaterial;
|
||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
|
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||||
import org.nl.wms.ext.acs.service.dto.to.acs.DeviceInfoDto;
|
import org.nl.wms.ext.acs.service.dto.to.acs.DeviceInfoDto;
|
||||||
import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse;
|
import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse;
|
||||||
import org.nl.wms.pda.service.PdaService;
|
import org.nl.wms.pda.service.PdaService;
|
||||||
@@ -389,6 +391,44 @@ public class PdaServiceImpl implements PdaService {
|
|||||||
return pdaMapper.getAllPressPoint();
|
return pdaMapper.getAllPressPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo orderFinish(OrderFinishReq req) {
|
||||||
|
if (StringUtils.isEmpty(req.getOrderCode())) {
|
||||||
|
throw new BadRequestException("工单不能为空");
|
||||||
|
}
|
||||||
|
PdmBdWorkorder bdWorkorder = workorderService.getByCode(req.getOrderCode());
|
||||||
|
if (bdWorkorder == null) {
|
||||||
|
throw new BadRequestException("未找到对应工单");
|
||||||
|
}
|
||||||
|
if (!WorkOrderStatusEnum.STAGING.getCode().equals(bdWorkorder.getWorkorder_status())){
|
||||||
|
throw new BadRequestException("只能选择暂存中的工单");
|
||||||
|
}
|
||||||
|
bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode());
|
||||||
|
bdWorkorder.setRealproduceend_date(DateUtil.now());
|
||||||
|
TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder);
|
||||||
|
// 统计合不合格数量到工单字段中
|
||||||
|
workorderService.updateById(bdWorkorder);
|
||||||
|
return PdaResponseVo.pdaResultOk("工单完成");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponseVo hnmlTask(OrderFinishReq req) {
|
||||||
|
if (StringUtils.isEmpty(req.getOrderCode())) {
|
||||||
|
throw new BadRequestException("工单不能为空");
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(req.getBarCode())) {
|
||||||
|
throw new BadRequestException("条码不能为空");
|
||||||
|
}
|
||||||
|
//下发拆包机到货架的任务
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("device_code", "CBJ01");
|
||||||
|
param.put("config_code","HNMLTask");
|
||||||
|
param.put("vehicle_code", req.getBarCode());
|
||||||
|
param.put("workorder_code",req.getOrderCode());
|
||||||
|
taskService.apply(param);
|
||||||
|
return PdaResponseVo.pdaResultOk("包装入库请求成功");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存组盘信息
|
* 保存组盘信息
|
||||||
* @param shelfSaveDto
|
* @param shelfSaveDto
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ public enum WorkOrderStatusEnum {
|
|||||||
ISSUED("2", "已下发"),
|
ISSUED("2", "已下发"),
|
||||||
PRODUCING("3", "生产中"),
|
PRODUCING("3", "生产中"),
|
||||||
STOP("4", "暂停"),
|
STOP("4", "暂停"),
|
||||||
COMPLETE("5", "完成");
|
COMPLETE("5", "完成"),
|
||||||
|
STAGING("6", "暂存中");
|
||||||
private final String code;
|
private final String code;
|
||||||
private final String name;
|
private final String name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -275,8 +275,10 @@ public class HNMLTask extends AbstractTask {
|
|||||||
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.getDeviceDockingProductionTask(deviceCode);
|
// PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(deviceCode);
|
||||||
SchBasePoint basePoint = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
SchBasePoint basePoint = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
.eq(SchBasePoint::getPoint_code, deviceCode)
|
.eq(SchBasePoint::getPoint_code, deviceCode)
|
||||||
.eq(SchBasePoint::getIs_used, true));
|
.eq(SchBasePoint::getIs_used, true));
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
window.g = {
|
window.g = {
|
||||||
dev: {
|
dev: {
|
||||||
VUE_APP_BASE_API: 'http://127.0.0.1:8011'
|
VUE_APP_BASE_API: 'http://192.168.8.162:8010'
|
||||||
},
|
},
|
||||||
prod: {
|
prod: {
|
||||||
VUE_APP_BASE_API: 'http://127.0.0.1:8011'
|
VUE_APP_BASE_API: 'http://192.168.8.162:8010'
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,9 @@
|
|||||||
label-width="125px"
|
label-width="125px"
|
||||||
label-suffix=":"
|
label-suffix=":"
|
||||||
>
|
>
|
||||||
|
<el-form-item label="泥料编码" prop="raw_material_code">
|
||||||
|
<el-input v-model="form.raw_material_code" style="width: 240px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="订单编号" prop="order_number">
|
<el-form-item label="订单编号" prop="order_number">
|
||||||
<el-input v-model="form.order_number" style="width: 240px;" />
|
<el-input v-model="form.order_number" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -208,8 +210,8 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<!-- <el-table-column prop="raw_material_code" label="泥料编码" :min-width="flexWidth('raw_material_code',crud.data,'物料编码')" />
|
<el-table-column prop="raw_material_code" label="泥料编码" :min-width="flexWidth('raw_material_code',crud.data,'物料编码')"/>
|
||||||
<el-table-column prop="half_material_code" label="半成品编码" :min-width="flexWidth('half_material_code',crud.data,'半成品编码')" /> -->
|
<!-- <el-table-column prop="half_material_code" label="半成品编码" :min-width="flexWidth('half_material_code',crud.data,'半成品编码')" /> -->
|
||||||
<el-table-column prop="order_number" label="订单编号" :min-width="flexWidth('order_number',crud.data,'订单编号')" />
|
<el-table-column prop="order_number" label="订单编号" :min-width="flexWidth('order_number',crud.data,'订单编号')" />
|
||||||
<el-table-column prop="product_code" label="产品编码" :min-width="flexWidth('product_code',crud.data,'产品编码')" />
|
<el-table-column prop="product_code" label="产品编码" :min-width="flexWidth('product_code',crud.data,'产品编码')" />
|
||||||
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
||||||
|
|||||||
@@ -72,6 +72,28 @@
|
|||||||
>
|
>
|
||||||
开工
|
开工
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="right"
|
||||||
|
class="filter-item"
|
||||||
|
type="success"
|
||||||
|
icon="el-icon-position"
|
||||||
|
size="mini"
|
||||||
|
:disabled="!(crud.selections[0]) || crud.selections[1]"
|
||||||
|
@click="hnmlTask(crud.selections[0])"
|
||||||
|
>
|
||||||
|
任务下发
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="right"
|
||||||
|
class="filter-item"
|
||||||
|
type="success"
|
||||||
|
icon="el-icon-position"
|
||||||
|
size="mini"
|
||||||
|
:disabled="!(crud.selections[0]) || crud.selections[1]"
|
||||||
|
@click="orderFinish(crud.selections[0])"
|
||||||
|
>
|
||||||
|
工单完成
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="false"
|
v-if="false"
|
||||||
slot="right"
|
slot="right"
|
||||||
@@ -85,6 +107,27 @@
|
|||||||
同步
|
同步
|
||||||
</el-button>
|
</el-button>
|
||||||
</crudOperation>
|
</crudOperation>
|
||||||
|
<el-dialog
|
||||||
|
title="填写条码"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="30%">
|
||||||
|
<el-form
|
||||||
|
ref="form"
|
||||||
|
:inline="true"
|
||||||
|
:model="barcodeForm"
|
||||||
|
size="mini"
|
||||||
|
label-width="135px"
|
||||||
|
label-suffix=":"
|
||||||
|
>
|
||||||
|
<el-form-item label="条码">
|
||||||
|
<el-input v-model="barcodeForm.barcode" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="info" @click="dialogCancle">取消</el-button>
|
||||||
|
<el-button type="primary" @click="dialogCommit">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
@@ -161,7 +204,7 @@
|
|||||||
<el-form-item label="设备名称">
|
<el-form-item label="设备名称">
|
||||||
<el-input v-model="form.point_name" style="width: 240px;" disabled />
|
<el-input v-model="form.point_name" style="width: 240px;" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="原料编码" prop="material_name">
|
<el-form-item label="原料编码" prop="raw_material_code">
|
||||||
<el-input v-model="form.raw_material_code" style="width: 240px;" @focus="getMaterial(1)" />
|
<el-input v-model="form.raw_material_code" style="width: 240px;" @focus="getMaterial(1)" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="form.region_code === 'HN' || form.region_code === 'YZ'" label="计划重量" prop="plan_weight">
|
<el-form-item v-if="form.region_code === 'HN' || form.region_code === 'YZ'" label="计划重量" prop="plan_weight">
|
||||||
@@ -527,7 +570,11 @@ export default {
|
|||||||
materialDialog: false,
|
materialDialog: false,
|
||||||
orderDialog: false,
|
orderDialog: false,
|
||||||
fullscreenLoading: false,
|
fullscreenLoading: false,
|
||||||
flag: 1
|
flag: 1,
|
||||||
|
dialogVisible:false,
|
||||||
|
barcodeForm:{
|
||||||
|
},
|
||||||
|
orderCode:'',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -587,6 +634,7 @@ export default {
|
|||||||
this.flag = flag
|
this.flag = flag
|
||||||
},
|
},
|
||||||
tableChanged(row, flag) {
|
tableChanged(row, flag) {
|
||||||
|
console.log("row==>",row,"===flag===>",flag)
|
||||||
if (flag === 1) {
|
if (flag === 1) {
|
||||||
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
|
||||||
@@ -634,6 +682,47 @@ export default {
|
|||||||
this.fullscreenLoading = false
|
this.fullscreenLoading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
hnmlTask(row){
|
||||||
|
this.dialogVisible = true
|
||||||
|
this.orderCode = row.workorder_code
|
||||||
|
},
|
||||||
|
dialogCancle(){
|
||||||
|
this.barcodeForm={}
|
||||||
|
this.dialogVisible = false
|
||||||
|
},
|
||||||
|
dialogCommit(){
|
||||||
|
this.fullscreenLoading = true
|
||||||
|
let param = {
|
||||||
|
orderCode:this.orderCode,
|
||||||
|
barCode:this.barcodeForm.barcode
|
||||||
|
}
|
||||||
|
crudPdmBdWorkorder.hnmlTask(param).then(res => {
|
||||||
|
this.crud.notify('任务下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
this.crud.toQuery()
|
||||||
|
}).catch(() => {
|
||||||
|
this.fullscreenLoading = false
|
||||||
|
}).finally(() => {
|
||||||
|
this.fullscreenLoading = false
|
||||||
|
this.barcodeForm={}
|
||||||
|
this.dialogVisible = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
orderFinish(row){
|
||||||
|
this.fullscreenLoading = true
|
||||||
|
let param = {
|
||||||
|
orderCode:row.workorder_code
|
||||||
|
}
|
||||||
|
crudPdmBdWorkorder.orderFinish(param).then(res => {
|
||||||
|
this.crud.notify('工单完成', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
this.crud.toQuery()
|
||||||
|
}).catch(() => {
|
||||||
|
this.fullscreenLoading = false
|
||||||
|
}).finally(() => {
|
||||||
|
this.fullscreenLoading = false
|
||||||
|
this.barcodeForm={}
|
||||||
|
this.dialogVisible = false
|
||||||
|
})
|
||||||
|
},
|
||||||
synchronize() {
|
synchronize() {
|
||||||
this.fullscreenLoading = true
|
this.fullscreenLoading = true
|
||||||
crudPdmBdWorkorder.orderSynchronize(this.crud.query).then(res => {
|
crudPdmBdWorkorder.orderSynchronize(this.crud.query).then(res => {
|
||||||
|
|||||||
@@ -33,6 +33,22 @@ export function submits(param) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function orderFinish(param) {
|
||||||
|
return request({
|
||||||
|
url: 'api/pda/orderFinish',
|
||||||
|
method: 'post',
|
||||||
|
data: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function hnmlTask(param) {
|
||||||
|
return request({
|
||||||
|
url: 'api/pda/hnmlTask',
|
||||||
|
method: 'post',
|
||||||
|
data: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export function orderSynchronize(data) {
|
export function orderSynchronize(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/pdmBdWorkorder/synchronize',
|
url: 'api/pdmBdWorkorder/synchronize',
|
||||||
@@ -61,4 +77,4 @@ export function userList() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { add, edit, del, submits, orderSynchronize, queryMaterials, userList }
|
export default { add, edit, del, submits, orderFinish,hnmlTask,orderSynchronize, queryMaterials, userList }
|
||||||
|
|||||||
Reference in New Issue
Block a user