二级系统联合寻找数据
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
package com.klp.pocket.acid.controller;
|
||||||
|
|
||||||
|
import com.klp.common.core.controller.BaseController;
|
||||||
|
import com.klp.common.core.domain.R;
|
||||||
|
import com.klp.pocket.acid.domain.vo.AcidTypingPrefillVo;
|
||||||
|
import com.klp.pocket.acid.service.IAcidTypingService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/pocket/acidTyping")
|
||||||
|
public class AcidTypingController extends BaseController {
|
||||||
|
|
||||||
|
private final IAcidTypingService acidTypingService;
|
||||||
|
|
||||||
|
@GetMapping("/prefill")
|
||||||
|
public R<AcidTypingPrefillVo> getTypingPrefill(@RequestParam String currentCoilNo) {
|
||||||
|
AcidTypingPrefillVo vo = acidTypingService.getTypingPrefillByCurrentCoilNo(currentCoilNo);
|
||||||
|
return R.ok(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.klp.pocket.acid.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 酸连轧工序:typing页面表单预填数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AcidTypingPrefillVo {
|
||||||
|
|
||||||
|
/** 当前钢卷号(来自klptcm1_pdo_excoil.encoilid) */
|
||||||
|
private String currentCoilNo;
|
||||||
|
|
||||||
|
/** 出口卷号(klptcm1_pdo_excoil.excoilid) */
|
||||||
|
private String excoilId;
|
||||||
|
|
||||||
|
/** 出口重量(t) */
|
||||||
|
private BigDecimal exitWeight;
|
||||||
|
|
||||||
|
/** 出口长度(m) */
|
||||||
|
private BigDecimal exitLength;
|
||||||
|
|
||||||
|
/** 班组(格式:shift-crew,例如:甲-A) */
|
||||||
|
private String team;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.klp.pocket.acid.mapper;
|
||||||
|
|
||||||
|
import com.klp.pocket.acid.domain.vo.AcidTypingPrefillVo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface AcidTypingMapper {
|
||||||
|
|
||||||
|
AcidTypingPrefillVo selectTypingPrefillByEncoilId(@Param("encoilId") String encoilId);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.klp.pocket.acid.service;
|
||||||
|
|
||||||
|
import com.klp.pocket.acid.domain.vo.AcidTypingPrefillVo;
|
||||||
|
|
||||||
|
public interface IAcidTypingService {
|
||||||
|
|
||||||
|
AcidTypingPrefillVo getTypingPrefillByCurrentCoilNo(String currentCoilNo);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.klp.pocket.acid.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import com.klp.pocket.acid.domain.vo.AcidTypingPrefillVo;
|
||||||
|
import com.klp.pocket.acid.mapper.AcidTypingMapper;
|
||||||
|
import com.klp.pocket.acid.service.IAcidTypingService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@DS("acid")
|
||||||
|
@Service
|
||||||
|
public class AcidTypingServiceImpl implements IAcidTypingService {
|
||||||
|
|
||||||
|
private final AcidTypingMapper acidTypingMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AcidTypingPrefillVo getTypingPrefillByCurrentCoilNo(String currentCoilNo) {
|
||||||
|
return acidTypingMapper.selectTypingPrefillByEncoilId(currentCoilNo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.klp.pocket.acid.mapper.AcidTypingMapper">
|
||||||
|
|
||||||
|
<select id="selectTypingPrefillByEncoilId" resultType="com.klp.pocket.acid.domain.vo.AcidTypingPrefillVo">
|
||||||
|
SELECT
|
||||||
|
e.ENCOILID AS currentCoilNo,
|
||||||
|
e.EXCOILID AS excoilId,
|
||||||
|
e.EXIT_WEIGHT AS exitWeight,
|
||||||
|
NULL AS exitLength,
|
||||||
|
CONCAT(e.SHIFT, '-', e.CREW) AS team
|
||||||
|
FROM klptcm1_pdo_excoil e
|
||||||
|
WHERE e.ENCOILID = #{encoilId}
|
||||||
|
ORDER BY e.INSDATE DESC
|
||||||
|
LIMIT 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
||||||
10
klp-ui/src/api/pocket/acidTyping.js
Normal file
10
klp-ui/src/api/pocket/acidTyping.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function getAcidTypingPrefill(currentCoilNo) {
|
||||||
|
return request({
|
||||||
|
url: '/pocket/acidTyping/prefill',
|
||||||
|
method: 'get',
|
||||||
|
params: { currentCoilNo }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
@@ -832,11 +832,14 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 跳转并传递参数
|
// 跳转并传递参数
|
||||||
|
const currentActionTypeLabel = this.$route?.query?.actionType
|
||||||
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: path,
|
path: path,
|
||||||
query: {
|
query: {
|
||||||
coilId: row.coilId,
|
coilId: row.coilId,
|
||||||
actionId: row.actionId
|
actionId: row.actionId,
|
||||||
|
...(currentActionTypeLabel ? { actionType: currentActionTypeLabel } : {})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
|||||||
@@ -12,6 +12,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<el-alert
|
||||||
|
v-if="acidPrefill.visible"
|
||||||
|
:title="acidPrefill.title"
|
||||||
|
:type="acidPrefill.type"
|
||||||
|
:closable="false"
|
||||||
|
show-icon
|
||||||
|
style="margin-bottom: 20px;"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- 主内容区 - 左右布局 -->
|
<!-- 主内容区 - 左右布局 -->
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<!-- 左侧:当前信息 -->
|
<!-- 左侧:当前信息 -->
|
||||||
@@ -255,6 +264,7 @@ import { completeAction } from '@/api/wms/pendingAction';
|
|||||||
import { listWarehouse } from '@/api/wms/warehouse';
|
import { listWarehouse } from '@/api/wms/warehouse';
|
||||||
import { listRawMaterialWithBom } from '@/api/wms/rawMaterial';
|
import { listRawMaterialWithBom } from '@/api/wms/rawMaterial';
|
||||||
import { listProductWithBom } from '@/api/wms/product';
|
import { listProductWithBom } from '@/api/wms/product';
|
||||||
|
import { getAcidTypingPrefill } from '@/api/pocket/acidTyping';
|
||||||
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
|
import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect";
|
||||||
import RawMaterialSelect from "@/components/KLPService/RawMaterialSelect";
|
import RawMaterialSelect from "@/components/KLPService/RawMaterialSelect";
|
||||||
import ProductSelect from "@/components/KLPService/ProductSelect";
|
import ProductSelect from "@/components/KLPService/ProductSelect";
|
||||||
@@ -358,6 +368,12 @@ export default {
|
|||||||
warehouseList: [],
|
warehouseList: [],
|
||||||
historySteps: [],
|
historySteps: [],
|
||||||
actionId: null,
|
actionId: null,
|
||||||
|
acidPrefill: {
|
||||||
|
visible: false,
|
||||||
|
type: 'info',
|
||||||
|
title: ''
|
||||||
|
},
|
||||||
|
isAcidRolling: false,
|
||||||
// 原材料和产品列表(实时搜索,不再保存完整备份)
|
// 原材料和产品列表(实时搜索,不再保存完整备份)
|
||||||
rawMaterialList: [],
|
rawMaterialList: [],
|
||||||
productList: [],
|
productList: [],
|
||||||
@@ -411,10 +427,67 @@ export default {
|
|||||||
// 从路由参数获取coilId和actionId
|
// 从路由参数获取coilId和actionId
|
||||||
const coilId = this.$route.query.coilId;
|
const coilId = this.$route.query.coilId;
|
||||||
const actionId = this.$route.query.actionId;
|
const actionId = this.$route.query.actionId;
|
||||||
|
const actionType = this.$route.query.actionType;
|
||||||
const readonly = this.$route.query.readonly;
|
const readonly = this.$route.query.readonly;
|
||||||
|
|
||||||
|
this.isAcidRolling = actionType === '酸连轧工序'
|
||||||
|
|
||||||
|
if (this.isAcidRolling) {
|
||||||
|
this.acidPrefill.visible = true
|
||||||
|
this.acidPrefill.type = 'info'
|
||||||
|
this.acidPrefill.title = '正在结合酸轧二级系统自动填写部分信息...'
|
||||||
|
}
|
||||||
|
|
||||||
if (coilId) {
|
if (coilId) {
|
||||||
await this.loadCoilInfo(coilId);
|
await this.loadCoilInfo(coilId);
|
||||||
|
|
||||||
|
if (this.isAcidRolling) {
|
||||||
|
const currentCoilNo = this.currentInfo && this.currentInfo.currentCoilNo
|
||||||
|
console.log('[typing] acid rolling actionType detected, will call prefill API with currentCoilNo (encoilid)=', currentCoilNo)
|
||||||
|
|
||||||
|
if (!currentCoilNo) {
|
||||||
|
this.acidPrefill.type = 'warning'
|
||||||
|
this.acidPrefill.title = '当前钢卷号为空'
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
const prefillRes = await getAcidTypingPrefill(currentCoilNo)
|
||||||
|
const prefill = prefillRes && prefillRes.data
|
||||||
|
|
||||||
|
if (!prefill) {
|
||||||
|
this.acidPrefill.type = 'info'
|
||||||
|
this.acidPrefill.title = '未在二级系统中查找到对应信息,请自行填写'
|
||||||
|
} else {
|
||||||
|
if (prefill.exitWeight != null && prefill.exitWeight !== '') {
|
||||||
|
const w = Number(prefill.exitWeight)
|
||||||
|
if (!Number.isNaN(w)) {
|
||||||
|
this.$set(this.updateForm, 'grossWeight', w)
|
||||||
|
this.$set(this.updateForm, 'netWeight', w)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prefill.exitLength != null && prefill.exitLength !== '') {
|
||||||
|
const len = Number(prefill.exitLength)
|
||||||
|
if (!Number.isNaN(len)) {
|
||||||
|
this.$set(this.updateForm, 'length', len)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prefill.team) {
|
||||||
|
this.$set(this.updateForm, 'team', prefill.team)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.acidPrefill.type = 'success'
|
||||||
|
this.acidPrefill.title = '已结合酸轧二级系统完成部分信息填写'
|
||||||
|
|
||||||
|
console.log('[typing] acid rolling prefill applied:', prefill)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error('[typing] acid rolling prefill request failed:', e)
|
||||||
|
this.acidPrefill.type = 'error'
|
||||||
|
this.acidPrefill.title = '未在二级系统中查找到对应信息,故自动填写失败'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actionId) {
|
if (actionId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user