From 12b3f0556df57e573c0cd1b7b2b17d43e7015006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= <2178503051@qq.com> Date: Thu, 30 Apr 2026 13:57:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms/report):=20=E6=96=B0=E5=A2=9E=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=8A=A5=E5=91=8A=E9=A1=B5=E9=9D=A2=E5=92=8C=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat(ems/assisted): 添加公辅消耗记录和类型管理功能 fix(eqp): 修改公辅消耗记录接口返回类型为Long refactor(wms/report): 优化合并模板查询逻辑和统计信息展示 style(wms/report): 调整时间范围选择器组件逻辑 docs(wms/report): 更新配置文件中产线类型配置 feat(wms/report): 新增异常报告页面和功能 --- .../EqpAuxiliaryConsumeController.java | 4 +- .../eqp/domain/bo/EqpAuxiliaryConsumeBo.java | 3 + .../service/IEqpAuxiliaryConsumeService.java | 2 +- .../impl/EqpAuxiliaryConsumeServiceImpl.java | 4 +- klp-ui/src/api/eqp/auxiliaryConsume.js | 44 ++ klp-ui/src/api/eqp/auxiliaryType.js | 44 ++ klp-ui/src/views/ems/assisted/record.vue | 298 ++++++++++++++ klp-ui/src/views/ems/assisted/type.vue | 386 ++++++++++++++++++ klp-ui/src/views/wms/report/abnormal.vue | 374 +++++++++++++++++ .../wms/report/components/timeRangePicker.vue | 2 + klp-ui/src/views/wms/report/js/config.js | 10 +- klp-ui/src/views/wms/report/merge/index.vue | 30 +- klp-ui/src/views/wms/report/repair/acid.vue | 14 + klp-ui/src/views/wms/report/repair/duge.vue | 14 + klp-ui/src/views/wms/report/repair/index.vue | 300 ++++++++++++++ klp-ui/src/views/wms/report/repair/lajiao.vue | 14 + klp-ui/src/views/wms/report/repair/shuang.vue | 14 + klp-ui/src/views/wms/report/repair/tuozhi.vue | 14 + 18 files changed, 1543 insertions(+), 28 deletions(-) create mode 100644 klp-ui/src/api/eqp/auxiliaryConsume.js create mode 100644 klp-ui/src/api/eqp/auxiliaryType.js create mode 100644 klp-ui/src/views/ems/assisted/record.vue create mode 100644 klp-ui/src/views/ems/assisted/type.vue create mode 100644 klp-ui/src/views/wms/report/abnormal.vue create mode 100644 klp-ui/src/views/wms/report/repair/acid.vue create mode 100644 klp-ui/src/views/wms/report/repair/duge.vue create mode 100644 klp-ui/src/views/wms/report/repair/index.vue create mode 100644 klp-ui/src/views/wms/report/repair/lajiao.vue create mode 100644 klp-ui/src/views/wms/report/repair/shuang.vue create mode 100644 klp-ui/src/views/wms/report/repair/tuozhi.vue diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryConsumeController.java b/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryConsumeController.java index 71770087..9b50dd9c 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryConsumeController.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/controller/EqpAuxiliaryConsumeController.java @@ -71,8 +71,8 @@ public class EqpAuxiliaryConsumeController extends BaseController { @Log(title = "公辅消耗记录", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody EqpAuxiliaryConsumeBo bo) { - return toAjax(iEqpAuxiliaryConsumeService.insertByBo(bo)); + public R add(@Validated(AddGroup.class) @RequestBody EqpAuxiliaryConsumeBo bo) { + return R.ok(iEqpAuxiliaryConsumeService.insertByBo(bo)); } /** diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryConsumeBo.java b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryConsumeBo.java index b61c1cc3..b4a88ea1 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryConsumeBo.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/domain/bo/EqpAuxiliaryConsumeBo.java @@ -8,6 +8,7 @@ import javax.validation.constraints.*; import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** * 公辅消耗记录业务对象 eqp_auxiliary_consume @@ -28,6 +29,8 @@ public class EqpAuxiliaryConsumeBo extends BaseEntity { /** * 记录日期 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") private Date recordDate; /** diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryConsumeService.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryConsumeService.java index f6f24259..342480da 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryConsumeService.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/IEqpAuxiliaryConsumeService.java @@ -35,7 +35,7 @@ public interface IEqpAuxiliaryConsumeService { /** * 新增公辅消耗记录 */ - Boolean insertByBo(EqpAuxiliaryConsumeBo bo); + Long insertByBo(EqpAuxiliaryConsumeBo bo); /** * 修改公辅消耗记录 diff --git a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryConsumeServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryConsumeServiceImpl.java index f7df9991..cdbceba0 100644 --- a/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryConsumeServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/eqp/service/impl/EqpAuxiliaryConsumeServiceImpl.java @@ -70,14 +70,14 @@ public class EqpAuxiliaryConsumeServiceImpl implements IEqpAuxiliaryConsumeServi * 新增公辅消耗记录 */ @Override - public Boolean insertByBo(EqpAuxiliaryConsumeBo bo) { + public Long insertByBo(EqpAuxiliaryConsumeBo bo) { EqpAuxiliaryConsume add = BeanUtil.toBean(bo, EqpAuxiliaryConsume.class); validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setConsumeId(add.getConsumeId()); } - return flag; + return add.getConsumeId(); } /** diff --git a/klp-ui/src/api/eqp/auxiliaryConsume.js b/klp-ui/src/api/eqp/auxiliaryConsume.js new file mode 100644 index 00000000..14f76896 --- /dev/null +++ b/klp-ui/src/api/eqp/auxiliaryConsume.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询公辅消耗记录列表 +export function listAuxiliaryConsume(query) { + return request({ + url: '/eqp/auxiliaryConsume/list', + method: 'get', + params: query + }) +} + +// 查询公辅消耗记录详细 +export function getAuxiliaryConsume(consumeId) { + return request({ + url: '/eqp/auxiliaryConsume/' + consumeId, + method: 'get' + }) +} + +// 新增公辅消耗记录 +export function addAuxiliaryConsume(data) { + return request({ + url: '/eqp/auxiliaryConsume', + method: 'post', + data: data + }) +} + +// 修改公辅消耗记录 +export function updateAuxiliaryConsume(data) { + return request({ + url: '/eqp/auxiliaryConsume', + method: 'put', + data: data + }) +} + +// 删除公辅消耗记录 +export function delAuxiliaryConsume(consumeId) { + return request({ + url: '/eqp/auxiliaryConsume/' + consumeId, + method: 'delete' + }) +} diff --git a/klp-ui/src/api/eqp/auxiliaryType.js b/klp-ui/src/api/eqp/auxiliaryType.js new file mode 100644 index 00000000..e208e86e --- /dev/null +++ b/klp-ui/src/api/eqp/auxiliaryType.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询公辅类型列表 +export function listAuxiliaryType(query) { + return request({ + url: '/eqp/auxiliaryType/list', + method: 'get', + params: query + }) +} + +// 查询公辅类型详细 +export function getAuxiliaryType(typeId) { + return request({ + url: '/eqp/auxiliaryType/' + typeId, + method: 'get' + }) +} + +// 新增公辅类型 +export function addAuxiliaryType(data) { + return request({ + url: '/eqp/auxiliaryType', + method: 'post', + data: data + }) +} + +// 修改公辅类型 +export function updateAuxiliaryType(data) { + return request({ + url: '/eqp/auxiliaryType', + method: 'put', + data: data + }) +} + +// 删除公辅类型 +export function delAuxiliaryType(typeId) { + return request({ + url: '/eqp/auxiliaryType/' + typeId, + method: 'delete' + }) +} diff --git a/klp-ui/src/views/ems/assisted/record.vue b/klp-ui/src/views/ems/assisted/record.vue new file mode 100644 index 00000000..3d359b50 --- /dev/null +++ b/klp-ui/src/views/ems/assisted/record.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/klp-ui/src/views/ems/assisted/type.vue b/klp-ui/src/views/ems/assisted/type.vue new file mode 100644 index 00000000..d480b473 --- /dev/null +++ b/klp-ui/src/views/ems/assisted/type.vue @@ -0,0 +1,386 @@ + + + + + diff --git a/klp-ui/src/views/wms/report/abnormal.vue b/klp-ui/src/views/wms/report/abnormal.vue new file mode 100644 index 00000000..c43c2234 --- /dev/null +++ b/klp-ui/src/views/wms/report/abnormal.vue @@ -0,0 +1,374 @@ + + + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/report/components/timeRangePicker.vue b/klp-ui/src/views/wms/report/components/timeRangePicker.vue index feb52be5..0a0ac655 100644 --- a/klp-ui/src/views/wms/report/components/timeRangePicker.vue +++ b/klp-ui/src/views/wms/report/components/timeRangePicker.vue @@ -103,10 +103,12 @@ export default { }, handleTimeChange() { this.$emit('input', { + ...this.value, [this.startKey]: this.startTime, [this.endKey]: this.endTime }) this.$emit('change', { + ...this.value, [this.startKey]: this.startTime, [this.endKey]: this.endTime }) diff --git a/klp-ui/src/views/wms/report/js/config.js b/klp-ui/src/views/wms/report/js/config.js index 7e71ac43..86ff3863 100644 --- a/klp-ui/src/views/wms/report/js/config.js +++ b/klp-ui/src/views/wms/report/js/config.js @@ -1,5 +1,5 @@ export const dugeConfig = { - actionTypes: [505, 120], + actionTypes: [505], actionQueryParams: { createBys: 'dugekuguan' }, @@ -17,7 +17,7 @@ export const dugeConfig = { } export const lajiaoConfig = { - actionTypes: [503, 120], + actionTypes: [503], actionQueryParams: { updateBys: 'lajiaokuguan' }, @@ -35,7 +35,7 @@ export const lajiaoConfig = { } export const shuangConfig = { - actionTypes: [504, 120], + actionTypes: [504], actionQueryParams: { createBys: 'shuangkuguan' }, @@ -53,7 +53,7 @@ export const shuangConfig = { } export const tuozhiConfig = { - actionTypes: [502, 120], + actionTypes: [502], actionQueryParams: { createBys: 'tuozhikuguan' }, @@ -93,7 +93,7 @@ export const suanzhaConfig = { } export const zincConfig = { - actionTypes: [501, 120], + actionTypes: [501], actionQueryParams: { createBys: 'duxinkuguan' }, diff --git a/klp-ui/src/views/wms/report/merge/index.vue b/klp-ui/src/views/wms/report/merge/index.vue index eba29507..a8d4ad22 100644 --- a/klp-ui/src/views/wms/report/merge/index.vue +++ b/klp-ui/src/views/wms/report/merge/index.vue @@ -43,7 +43,7 @@ - + {{ summary.outCount }} {{ summary.outTotalWeight }}t {{ summary.outAvgWeight }}t @@ -52,20 +52,21 @@ {{ summary.lossTotalWeight }}t {{ summary.lossAvgWeight }}t - {{ summary.totalCount }} - {{ summary.totalWeight }}t - {{ summary.totalAvgWeight }}t + {{ summary.countDiff }} + {{ summary.weightDiff }} + {{ summary.avgWeightDiff }}t + {{ summary.passRate }} {{ summary.lossRate }} {{ summary.abRate }} - + {{ summary.passRate2 }} - + + {{ summary.passRate }} + {{ summary.lossRate }} + + {{ summary.abRate }} + + {{ summary.passRate2 }} + + + + + + + + + + + + + + + + + + + 投入明细配置 + 产出明细配置 + + + + + + + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/report/repair/lajiao.vue b/klp-ui/src/views/wms/report/repair/lajiao.vue new file mode 100644 index 00000000..05f7b331 --- /dev/null +++ b/klp-ui/src/views/wms/report/repair/lajiao.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/report/repair/shuang.vue b/klp-ui/src/views/wms/report/repair/shuang.vue new file mode 100644 index 00000000..bb17c5f1 --- /dev/null +++ b/klp-ui/src/views/wms/report/repair/shuang.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/report/repair/tuozhi.vue b/klp-ui/src/views/wms/report/repair/tuozhi.vue new file mode 100644 index 00000000..be758dde --- /dev/null +++ b/klp-ui/src/views/wms/report/repair/tuozhi.vue @@ -0,0 +1,14 @@ + + + \ No newline at end of file