This commit is contained in:
2022-12-14 11:19:10 +08:00
19 changed files with 322 additions and 53 deletions

View File

@@ -159,17 +159,17 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
if (StrUtil.equals(inst1.getInstruction_status(), "0")) {
inst1.setInstruction_status("1");
instructionService.update(inst1);
TaskDto taskDto = taskserver.findByCodeFromCache(inst1.getTask_code());
if (ObjectUtil.isNotEmpty(taskDto)) {
if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
JSONArray array = new JSONArray();
JSONObject map = new JSONObject();
map.put("task_id", taskDto.getExt_task_id());
map.put("task_status", "1");
array.add(map);
acsToWmsService.feedbackTaskStatusToWms(array);
}
}
// TaskDto taskDto = taskserver.findByCodeFromCache(inst1.getTask_code());
// if (ObjectUtil.isNotEmpty(taskDto)) {
// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
// JSONArray array = new JSONArray();
// JSONObject map = new JSONObject();
// map.put("task_id", taskDto.getExt_task_id());
// map.put("task_status", "1");
// array.add(map);
// acsToWmsService.feedbackTaskStatusToWms(array);
// }
// }
}
}
}

View File

@@ -212,17 +212,17 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
//当前执行步骤为更新任务状态
inst1.setInstruction_status("1");
instructionService.update(inst1);
TaskDto taskDto = taskserver.findByCodeFromCache(inst1.getTask_code());
if (!ObjectUtil.isEmpty(taskDto)) {
if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
JSONArray array = new JSONArray();
JSONObject map = new JSONObject();
map.put("task_id", taskDto.getExt_task_id());
map.put("task_status", "1");
array.add(map);
acsToWmsService.feedbackTaskStatusToWms(array);
}
}
// TaskDto taskDto = taskserver.findByCodeFromCache(inst1.getTask_code());
// if (!ObjectUtil.isEmpty(taskDto)) {
// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
// JSONArray array = new JSONArray();
// JSONObject map = new JSONObject();
// map.put("task_id", taskDto.getExt_task_id());
// map.put("task_status", "1");
// array.add(map);
// acsToWmsService.feedbackTaskStatusToWms(array);
// }
// }
;
//this.setNow_steps_type1(1);
}
@@ -239,17 +239,17 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
now_steps_type2 = 1;
inst2.setInstruction_status("1");
instructionService.update(inst2);
TaskDto taskDto = taskserver.findByCodeFromCache(inst2.getTask_code());
if (!ObjectUtil.isEmpty(taskDto)) {
if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
JSONArray array = new JSONArray();
JSONObject map = new JSONObject();
map.put("task_id", taskDto.getExt_task_id());
map.put("task_status", "1");
array.add(map);
acsToWmsService.feedbackTaskStatusToWms(array);
}
}
// TaskDto taskDto = taskserver.findByCodeFromCache(inst2.getTask_code());
// if (!ObjectUtil.isEmpty(taskDto)) {
// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
// JSONArray array = new JSONArray();
// JSONObject map = new JSONObject();
// map.put("task_id", taskDto.getExt_task_id());
// map.put("task_status", "1");
// array.add(map);
// acsToWmsService.feedbackTaskStatusToWms(array);
// }
// }
;
// this.setNow_steps_type2(1);
}
@@ -265,17 +265,17 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
//当前指令更新状态
inst2.setInstruction_status("1");
instructionService.update(inst2);
TaskDto taskDto = taskserver.findByCodeFromCache(inst2.getTask_code());
if (!ObjectUtil.isEmpty(taskDto)) {
if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
JSONArray array = new JSONArray();
JSONObject map = new JSONObject();
map.put("task_id", taskDto.getExt_task_id());
map.put("task_status", "1");
array.add(map);
acsToWmsService.feedbackTaskStatusToWms(array);
}
}
// TaskDto taskDto = taskserver.findByCodeFromCache(inst2.getTask_code());
// if (!ObjectUtil.isEmpty(taskDto)) {
// if (StrUtil.isNotEmpty(taskDto.getExt_task_id())) {
// JSONArray array = new JSONArray();
// JSONObject map = new JSONObject();
// map.put("task_id", taskDto.getExt_task_id());
// map.put("task_status", "1");
// array.add(map);
// acsToWmsService.feedbackTaskStatusToWms(array);
// }
// }
;
}
}

View File

@@ -128,6 +128,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("momRollFoilStart接口输出参数为-------------------" + result.toString());
return result;
}
@@ -176,6 +177,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("momRollFoilStart接口输出参数为-------------------" + result.toString());
return result;
}
@@ -446,6 +448,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("cutPlanTransfer接口输出参数为-------------------" + result.toString());
return result;
}
@@ -632,7 +635,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("callNextAssAndMomRoll接口输出参数为-------------------" + result.toString());
return result;
}
@@ -721,6 +724,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("childRollCutStartComp接口输出参数为-------------------" + result.toString());
return result;
}
@@ -849,6 +853,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("childRollPackComplete接口输出参数为-------------------" + result.toString());
return result;
}
@@ -963,6 +968,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
System.out.println(result);
}
// }
log.info("inventoryTransferInfoSync接口输出参数为-------------------" + result.toString());
return result;
}
@@ -1024,6 +1030,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
result.put("RTDAT", null);
System.out.println(result);
}
log.info("childRollInfoUpdate接口输出参数为-------------------" + result.toString());
return result;
}
}

View File

@@ -87,10 +87,12 @@ public class SapToLmsServiceImpl implements SapToLmsService {
} catch (Exception exception) {
result.put("RTYPE", "E");
result.put("RTMSG", "操作失败!" + exception.getMessage());
log.info("getMaterialInfo的输出参数为------------------------" + result.toString());
return result;
}
result.put("TYPE", "S");
result.put("MESSAGE", "物料同步成功!");
log.info("getMaterialInfo的输出参数为------------------------" + result.toString());
return result;
}
@@ -280,12 +282,14 @@ public class SapToLmsServiceImpl implements SapToLmsService {
result.put("RTMSG", "操作失败!" + e.getMessage());
result.put("RTOAL", 1);
result.put("RTDAT", null);
log.info("getDeliveryInfo的输出参数为------------------------" + result.toString());
return result;
}
result.put("RTYPE", "S");
result.put("RTMSG", "操作成功!");
result.put("RTOAL", 1);
result.put("RTDAT", null);
log.info("getDeliveryInfo的输出参数为------------------------" + result.toString());
return result;
}
@@ -337,6 +341,7 @@ public class SapToLmsServiceImpl implements SapToLmsService {
result.put("RTMSG", "操作成功!");
result.put("RTOAL", 1);
result.put("RTDAT", null);
log.info("getReturnDeliveryInfo的输出参数为------------------------" + result.toString());
return result;
}

View File

@@ -99,6 +99,9 @@
ENDOPTION
OPTION 输入.packageboxsn <> ""
sub.package_box_sn = 输入.packageboxsn
ENDOPTION
OPTION 输入.container_name <> ""
sub.container_name = 输入.container_name
ENDOPTION
ENDSELECT
ENDQUERY

View File

@@ -74,4 +74,12 @@ public class RawfoilworkorderController {
rawfoilworkorderService.compelEnd(whereJson);
return new ResponseEntity<>(HttpStatus.OK);
}
@Log("称重")
@ApiOperation("称重")
@PostMapping("/confirm")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
rawfoilworkorderService.confirm(whereJson);
return new ResponseEntity<>(HttpStatus.OK);
}
}

View File

@@ -78,4 +78,11 @@ public interface RawfoilworkorderService {
* @param whereJson /
*/
void compelEnd(JSONObject whereJson);
/**
* 称重
*
* @param whereJson /
*/
void confirm(JSONObject whereJson);
}

View File

@@ -208,4 +208,19 @@ public class RawfoilworkorderServiceImpl implements RawfoilworkorderService {
tab.update(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void confirm(JSONObject whereJson) {
WQLObject tab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder");
String productin_qty = whereJson.getString("productin_qty");
JSONObject jsonRaw = tab.query("workorder_id = '" + whereJson.getString("workorder_id") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(productin_qty)) {
jsonRaw.put("productin_qty",0);
} else {
jsonRaw.put("productin_qty",whereJson.getDoubleValue("productin_qty"));
}
tab.update(jsonRaw);
}
}

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE4" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/LmsToMes/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl" level="info" additivity="false">
<appender-ref ref="FILE4"/>
</logger>
<!-- 打印sql -->
</included>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE2" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/LmsToSap/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.nl.wms.ext.sap.service.impl.LmsToSapServiceImpl" level="info" additivity="false">
<appender-ref ref="FILE2"/>
</logger>
<!-- 打印sql -->
</included>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE3" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/MesToLms/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.nl.wms.ext.mes.service.impl.MesToLmsServiceImpl" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>
<!-- 打印sql -->
</included>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE1" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/SapToLms/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.nl.wms.ext.sap.service.impl.SapToLmsServiceImpl" level="info" additivity="false">
<appender-ref ref="FILE1"/>
</logger>
<!-- 打印sql -->
</included>

View File

@@ -20,8 +20,10 @@ https://juejin.cn/post/6844903775631572999
<property name="SYSTEM_NAME" value="${systemName}"/>
<property name="LOG_HOME" value="${logPath}"/>
<!--引入默认的一些设置-->
<!--<include resource="log/XrToMes.xml"/>
<include resource="log/MesToErp.xml"/>-->
<include resource="log/LmsToMes.xml"/>
<include resource="log/LmsToSap.xml"/>
<include resource="log/MesToLms.xml"/>
<include resource="log/SapToLms.xml"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>

View File

@@ -206,7 +206,7 @@
<el-table-column prop="simple_name" label="仓位简称" :min-width="flexWidth('simple_name',crud.data,'仓位简称')" />
<el-table-column prop="sect_name" label="所属库区" width="150" />
<el-table-column prop="stor_name" label="所属仓库" width="150" />
<el-table-column prop="storagevehicle_code" label="载具号" min-width="120" show-overflow-tooltip />
<el-table-column prop="storagevehicle_code" label="载具号" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
<el-table-column prop="lock_type" label="锁定类型" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.d_lock_type[scope.row.lock_type] }}

View File

@@ -0,0 +1,81 @@
<template>
<el-dialog
title="称重"
append-to-body
:visible.sync="dialogVisible"
:before-close="handleClose"
width="500px"
destroy-on-close
@close="close"
>
<el-form ref="form" :model="form1" :rules="rules" size="mini" label-width="110px">
<el-form-item label="重量" prop="productin_qty">
<el-input-number v-model="form1.productin_qty" :min="0" :controls="false" :precision="3" style="width: 250px;"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="close">取消</el-button>
<el-button type="primary" @click="confirm">确认</el-button>
</div>
</el-dialog>
</template>
<script>
import crudRawfoilworkorder from '@/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder'
import CRUD, { crud } from '@crud/crud'
export default {
name: 'SunShowDialog',
mixins: [crud()],
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: Object
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
this.form1 = this.openParam
}
}
},
data() {
return {
form1: {},
dialogVisible: false
}
},
methods: {
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done()
})
.catch(_ => {
})
},
close() {
this.$emit('update:dialogShow', false)
this.form1 = {}
this.crud.toQuery()
},
confirm() {
crudRawfoilworkorder.confirm(this.form1).then(res => {
this.crud.toQuery()
this.close()
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
}
}
}
</script>
<style scoped>
</style>

View File

@@ -95,6 +95,17 @@
>
强制结束
</el-button>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
:disabled="crud.selections.length !== 1"
@click="weigh"
>
称重
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog
@@ -236,11 +247,13 @@
<!--分页组件-->
<pagination />
</div>
<Dialog :dialog-show.sync="dialogShow" :open-param="openParam" />
</div>
</template>
<script>
import crudRawfoilworkorder from '@/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder'
import Dialog from '@/views/wms/pdm/order/rawfoilworkorder/Dialog'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
@@ -276,7 +289,7 @@ const defaultForm = {
export default {
name: 'Rawfoilworkorder',
dicts: ['product_area', 'product_status'],
components: { pagination, crudOperation, rrOperation, udOperation },
components: { pagination, crudOperation, rrOperation, udOperation, Dialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -296,6 +309,8 @@ export default {
},
data() {
return {
dialogShow: false,
openParam: null,
permission: {},
rules: {
container_name: [
@@ -346,6 +361,11 @@ export default {
this.crud.toQuery()
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
},
weigh() {
const _selectData = this.$refs.table.selection
this.openParam = _selectData[0]
this.dialogShow = true
}
}
}

View File

@@ -32,4 +32,12 @@ export function compelEnd(data) {
})
}
export default { add, edit, del, compelEnd }
export function confirm(data) {
return request({
url: 'api/rawfoilworkorder/confirm',
method: 'post',
data
})
}
export default { add, edit, del, compelEnd, confirm }

View File

@@ -312,7 +312,7 @@
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
</template>
</el-table-column>-->
<el-table-column prop="vehicle_code" label="载具编码" />
<el-table-column prop="vehicle_code" label="载具编码" :min-width="flexWidth('vehicle_code',crud.data,'载具编码')" />
<el-table-column prop="vehicle_qty" label="载具数量" />
<el-table-column prop="product_area" label="生产区域" />
<el-table-column prop="remark" label="备注" min-width="100" show-overflow-tooltip />

View File

@@ -60,8 +60,8 @@
<el-table-column v-if="false" prop="region_id" label="区域标识" />
<el-table-column prop="region_code" label="区域编码" min-width="120" />
<el-table-column prop="region_name" label="区域名称" min-width="130" />
<el-table-column prop="point_type_explain" label="点位类型说明" min-width="150" />
<el-table-column prop="point_status_explain" label="点位状态说明" min-width="120" />
<el-table-column prop="point_type_explain" label="点位类型说明" :min-width="flexWidth('point_type_explain',crud.data,'点位类型说明')" />
<el-table-column prop="point_status_explain" label="点位状态说明" :min-width="flexWidth('point_status_explain',crud.data,'点位状态说明')" />
<el-table-column prop="remark" label="备注" />
<el-table-column prop="create_name" label="创建人" />
<el-table-column prop="create_time" label="创建时间" min-width="140" show-overflow-tooltip />