From 162072ac75b009a24cb84569ea7000a782c0fa34 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 14 五月 2025 16:00:48 +0800
Subject: [PATCH] 质检单问题修复
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java | 1
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java | 15 +++
rsf-admin/src/page/orders/purchase/PurchaseList.jsx | 4
rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java | 3
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx | 5 -
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java | 39 +++++++++
rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml | 31 +++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 49 +++++++-----
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java | 10 ++
rsf-admin/src/layout/SubMenu.jsx | 4 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java | 5 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java | 8 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java | 20 ++--
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java | 9 ++
rsf-admin/src/i18n/zh.js | 1
rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx | 11 +-
rsf-admin/src/i18n/en.js | 1
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java | 2
18 files changed, 170 insertions(+), 48 deletions(-)
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index ba2d163..7811a63 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -1044,6 +1044,7 @@
orderPrint: 'Orders Print',
quality: "quality",
complete: "complete",
+ verifyComfirm: 'Verify Comfirm',
close: "close",
asnCreate: "Create By Order",
poCreate: "Create By PO",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 0fabcf6..22420f0 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1075,6 +1075,7 @@
batchWarehouseAreas: "鎵归噺搴撳尯",
batchLocType: "鎵归噺搴撲綅绫诲瀷",
batchPrint: "鎵归噺鎵撳嵃",
+ verifyComfirm: '瀹℃牳纭',
quality: "璐ㄦ",
complete: "瀹岀粨",
close: "鍏抽棴",
diff --git a/rsf-admin/src/layout/SubMenu.jsx b/rsf-admin/src/layout/SubMenu.jsx
index e09b22d..f5be513 100644
--- a/rsf-admin/src/layout/SubMenu.jsx
+++ b/rsf-admin/src/layout/SubMenu.jsx
@@ -43,6 +43,10 @@
component="div"
disablePadding
sx={{
+ '& .MuiTypography-root': {
+ visibility: 'hidden'
+ },
+
'& .MuiMenuItem-root': {
transition:
'padding-left 195ms cubic-bezier(0.4, 0, 0.6, 1) 0ms',
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
index 4a6bec8..f8c157c 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -159,8 +159,6 @@
<InspectionsButton />
<MyExportButton />
{/* <BtnBulkExport></BtnBulkExport> */}
- <BulkDeleteButton mutationMode={OPERATE_MODE}
- />
</>}
rowClick={false}
expandSingle={true}
@@ -174,10 +172,9 @@
<TextField cellClassName="wkType" source="wkType$" label="table.field.asnOrder.wkType" />
<NumberField source="anfme" label="table.field.asnOrder.anfme" />
<NumberField source="qty" label="table.field.asnOrder.qty" />
- {/* <TextField source="logisNo" label="table.field.asnOrder.logisNo" /> */}
<DateField source="arrTime" label="table.field.asnOrder.arrTime" showTime />
<TextField source="rleStatus$" label="table.field.asnOrder.rleStatus" sortable={false} />
- <TextField source="ntyStatus$" label="table.field.asnOrder.ntyStatus" />
+ {/* <TextField source="ntyStatus$" label="table.field.asnOrder.ntyStatus" /> */}
<TextField source="updateBy$" label="common.field.updateBy" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
<TextField source="createBy$" label="common.field.createBy" />
diff --git a/rsf-admin/src/page/orders/purchase/PurchaseList.jsx b/rsf-admin/src/page/orders/purchase/PurchaseList.jsx
index fdfcc50..254601e 100644
--- a/rsf-admin/src/page/orders/purchase/PurchaseList.jsx
+++ b/rsf-admin/src/page/orders/purchase/PurchaseList.jsx
@@ -38,6 +38,7 @@
import PurchasePanel from "./PurchasePanel";
import EmptyData from "../../components/EmptyData";
import MyCreateButton from "../../components/MyCreateButton";
+import BillStatusField from '../../components/BillStatusField';
import MyExportButton from '../../components/MyExportButton';
import PageDrawer from "../../components/PageDrawer";
import MyField from "../../components/MyField";
@@ -146,7 +147,8 @@
<DateField source="updateTime" label="common.field.updateTime" showTime />
<TextField source="createBy$" label="common.field.createBy" />
<DateField source="createTime" label="common.field.createTime" showTime />
- <BooleanField source="statusBool" label="common.field.status" sortable={false} />
+ <BillStatusField cellClassName="status" source="exceStatus" label="table.field.asnOrder.exceStatus" />
+ {/* <BooleanField source="statusBool" label="common.field.status" sortable={false} /> */}
<TextField source="memo" label="common.field.memo" sortable={false} />
<WrapperField cellClassName="opt" label="common.field.opt">
<EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
diff --git a/rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx b/rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx
index 44c3407..f099c0a 100644
--- a/rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx
+++ b/rsf-admin/src/page/orders/qlyInspect/QlyInspectList.jsx
@@ -49,6 +49,7 @@
import AsnSelModal from "./AsnSelModal";
import InspectModal from "./InspectModal";
import QlyInspectOpCreate from './QlyInspectOpCreate';
+import ConfirmButton from "../../components/ConfirmButton";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
height: '.9em'
@@ -133,11 +134,11 @@
>
<NumberField source="id" />
<TextField source="code" label="table.field.qlyInspect.code" />
- <TextField source="isptStatus$" label="table.field.qlyInspect.isptStatus" />
<TextField source="wkType$" label="table.field.qlyInspect.wkType" />
<NumberField source="asnId" label="table.field.qlyInspect.asnId" />
<NumberField source="asnCode" label="table.field.qlyInspect.asnCode" />
<NumberField source="isptQty" label="table.field.qlyInspect.isptQty" />
+ <TextField source="isptStatus$" label="table.field.qlyInspect.isptStatus" />
<TextField source="updateBy$" label="common.field.updateBy" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
<TextField source="createBy$" label="common.field.createBy" />
@@ -148,7 +149,7 @@
<EditButton label="toolbar.detail" />
<InspectionButton />
<CompleteButton />
- <CloseButton />
+ {/* <CloseButton /> */}
</WrapperField>
</StyledDatagrid>
</List>
@@ -203,7 +204,7 @@
const notify = useNotify();
const refresh = useRefresh();
const requestComplete = async () => {
- const { data: { code, data, msg } } = await request.post(`/qlyInspect/update`, { ...record, isptStatus: '1' });
+ const { data: { code, data, msg } } = await request.post(`/qlyInspect/verify/complate/` + record?.id);
if (code === 200) {
notify(msg);
refresh()
@@ -213,9 +214,7 @@
}
return (
- record.isptStatus != 1 && record.isptStatus != 3 ? (<Button onClick={requestComplete} label={"toolbar.complete"} mutationMode={OPERATE_MODE}>
- <TaskIcon />
- </Button>) : (<></>)
+ record.isptStatus == 2 ? (<ConfirmButton label={"toolbar.verifyComfirm"} color="secondary" startIcon={<TaskIcon />} onConfirm={requestComplete} />) : (<></>)
)
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
index 70613d6..64afeec 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderController.java
@@ -123,7 +123,6 @@
if (Objects.isNull(ids) || ids.length == 0) {
return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
-
return asnOrderService.removeOrders(Arrays.asList(ids));
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
index af8e95b..dcff993 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
@@ -120,6 +120,16 @@
}
@PreAuthorize("hasAuthority('manager:qlyInspect:update')")
+ @ApiOperation("瀹℃牳纭")
+ @PostMapping("/qlyInspect/verify/complate/{id}")
+ public R verifyComplate(@PathVariable Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return qlyInspectService.verifyComplate(id);
+ }
+
+ @PreAuthorize("hasAuthority('manager:qlyInspect:update')")
@OperationLog("Update 璐ㄦ淇℃伅")
@PostMapping("/qlyInspect/update")
public R update(@RequestBody QlyInspect qlyInspect) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java
index 68331a1..932e228 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Purchase.java
@@ -253,6 +253,21 @@
return dictDatas.getLabel();
}
+ public String getExceStatus$() {
+ if (Cools.isEmpty(this.exceStatus)){
+ return "";
+ }
+ DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+ DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>()
+ .eq(DictData::getDictTypeCode, DictTypeCode.SYS_PO_EXCE_STATUS)
+ .eq(DictData::getValue, this.exceStatus));
+ if (Objects.isNull(dictData)) {
+ return null;
+ }
+ return dictData.getLabel();
+ }
+
+
public String getWkType$() {
if (Cools.isEmpty(this.wkType)) {
return "";
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java
index 6566eb2..e65d7ce 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/AsnExceStatus.java
@@ -18,10 +18,10 @@
ASN_EXCE_STATUS_TASK_CLOSE("5", "宸插叧闂�"),
//PO鍗曟墽琛岀姸鎬�
- PO_EXCE_STATUS_UN_EXCE("0", "鏈墽琛�"),
- PO_EXCE_STATUS_EXCE_ING("1", "鎵ц涓�"),
- PO_EXCE_STATUS_SECTION_DONE("3", "閮ㄥ垎瀹屾垚"),
- PO_EXCE_STATUS_ALL_DONE("3", "宸插畬鎴�"),
+// PO_EXCE_STATUS_UN_EXCE("0", "鏈墽琛�"),
+// PO_EXCE_STATUS_EXCE_ING("1", "鎵ц涓�"),
+// PO_EXCE_STATUS_SECTION_DONE("2", "閮ㄥ垎瀹屾垚"),
+// PO_EXCE_STATUS_ALL_DONE("3", "宸插畬鎴�"),
OUT_STOCK_STATUS_TASK_INIT("11", "鍒濆鍖�"),
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java
index c57c2c9..2c2fa42 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.server.manager.mapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -11,9 +12,13 @@
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+import java.util.List;
+
@Mapper
@Repository
public interface QlyIsptItemMapper extends BaseMapper<QlyIsptItem> {
IPage<QlyIsptItem> pageByWrapper(PageParam<QlyIsptItem, BaseParam> pageParam, @Param(Constants.WRAPPER) QueryWrapper<QlyIsptItem> queryWrapper);
+
+ List<QlyIsptItem> selectIsptResult(@Param(Constants.WRAPPER) LambdaQueryWrapper<QlyIsptItem> eq);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
index 5944e58..f0de2ed 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyInspectService.java
@@ -23,4 +23,6 @@
R saveSelected(IsptOrderParam param, Long loginUserId);
boolean qlySave(QlyInspect qlyInspect);
+
+ R verifyComplate(Long id);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java
index cec5a02..93dc4d9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java
@@ -1,5 +1,6 @@
package com.vincent.rsf.server.manager.service;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -7,6 +8,9 @@
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.controller.params.IsptItemsParams;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
+import com.vincent.rsf.server.manager.entity.WarehouseAreasItem;
+
+import java.util.List;
public interface QlyIsptItemService extends IService<QlyIsptItem> {
@@ -15,4 +19,9 @@
IPage<QlyIsptItem> pageByWrapper(PageParam<QlyIsptItem, BaseParam> pageParam, QueryWrapper<QlyIsptItem> queryWrapper);
IPage<QlyIsptItem> pageByIsptResult(PageParam<QlyIsptItem, BaseParam> pageParam, QueryWrapper<QlyIsptItem> queryWrapper);
+
+ void confirmReceipt(QlyIsptItem item, WarehouseAreasItem orderItem);
+
+ List<QlyIsptItem> selectIsptResult(LambdaQueryWrapper<QlyIsptItem> eq);
}
+
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index 93a3df4..011bd52 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -305,9 +305,14 @@
.setMatnrId(matnr.getId());
orderItems.add(orderItem);
-
-// purchaseItemService.update(new LambdaUpdateWrapper<>().set(PurchaseItem::getAnfme, ));
-
+ PurchaseItem purchaseItem = purchaseItemService.getOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, item.getId()));
+ if (Objects.isNull(purchaseItem)) {
+ throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+ }
+ purchaseItem.setQty(purchaseItem.getQty() + item.getAnfme());
+ if (!purchaseItemService.updateById(purchaseItem)) {
+ throw new CoolException("PO鍗曟槑缁嗕慨鏀瑰け璐ワ紒锛�");
+ }
}
double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
@@ -317,7 +322,6 @@
}
//浠诲姟鎵ц瀹屾垚锛屼慨鏀瑰凡瀹屾垚鏁伴噺鍜孭O鍗曟墽琛岀姸鎬�
purchase.setQty(sum + purchase.getQty())
- .setAnfme(purchase.getAnfme() - sum)
.setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val);
if (!purchaseService.saveOrUpdate(purchase)) {
@@ -350,8 +354,7 @@
list.forEach(item -> {
PurchaseItem purchaseItem = purchaseItemService.getById(item.getPoDetlId());
if (!Objects.isNull(purchaseItem)) {
- purchaseItem.setQty(purchaseItem.getQty() - item.getAnfme())
- .setAnfme(purchaseItem.getAnfme() + item.getAnfme());
+ purchaseItem.setQty(purchaseItem.getQty() - item.getAnfme());
}
if (!purchaseItemService.updateById(purchaseItem)) {
throw new CoolException("PO鍗曟槑缁嗘洿鏂板け璐ワ紒锛�");
@@ -363,15 +366,12 @@
Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>()
.eq(Purchase::getCode, list.stream().findFirst().get().getPoCode()));
purchase.setQty(purchase.getQty() - sum)
- .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val)
- .setAnfme(purchase.getAnfme() + sum);
+ .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val);
if (!purchaseService.updateById(purchase)) {
throw new CoolException("PO鍗曟嵁鏇存柊澶辫触锛侊紒");
}
}
-
-
if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>()
.in(AsnOrderItem::getAsnId, ids))) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
index c163e61..bed6f21 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.controller.params.IsptOrderParam;
@@ -211,4 +212,42 @@
return this.save(qlyInspect);
}
+
+ /**
+ * @author Ryan
+ * @date 2025/5/14
+ * @description: 璐ㄦ瀹℃牳纭
+ * @version 1.0
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R verifyComplate(Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ QlyInspect inspect = this.getById(id);
+ if (Objects.isNull(inspect)) {
+ throw new CoolException("璐ㄦ鍗曟嵁涓嶅瓨鍦紒锛�");
+ }
+ inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
+ if (!this.saveOrUpdate(inspect)) {
+ throw new CoolException("鍗曟嵁淇敼澶辫触锛侊紒");
+ }
+ List<QlyIsptItem> items = qlyIsptItemService.selectIsptResult(new LambdaQueryWrapper<QlyIsptItem>().eq(QlyIsptItem::getIspectId, inspect.getId()));
+ if (items.isEmpty()) {
+ throw new CoolException("璐ㄦ鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+ for (QlyIsptItem isptItem : items) {
+ if (isptItem.getSafeQty().compareTo(0.0) <= 0 && isptItem.getDisQty().compareTo(0.0) <= 0 ) {
+ continue;
+ }
+ WarehouseAreasItem item = warehouseAreasItemService.getById(isptItem.getRcptId());
+ if (Objects.isNull(item)) {
+ throw new CoolException("搴撳瓨鏄庣粏涓嶅瓨鍦紒锛�");
+ }
+ qlyIsptItemService.confirmReceipt(isptItem, item);
+ }
+
+ return R.ok("瀹℃牳瀹屾垚锛侊紒");
+ }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
index d375c92..66440f7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -107,27 +107,28 @@
throw new CoolException("鍗曟嵁鏄庣粏鏁伴噺淇敼澶辫触锛侊紒");
}
- WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId());
- if (Objects.isNull(orderItem)) {
- throw new CoolException("鏀惰揣鍗曟嵁涓嶅瓨鍦紒锛�");
- }
+// WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId());
+// if (Objects.isNull(orderItem)) {
+// throw new CoolException("鏀惰揣鍗曟嵁涓嶅瓨鍦紒锛�");
+// }
- Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty();
- Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty();
-
- Double sum = disQty + safeQty;
- orderItem.setIsptQty(sum);
-
- if (sum.compareTo(0.0) > 0) {
- if (!warehouseAreasItemService.updateById(orderItem)) {
- throw new CoolException("鏀惰揣鍖哄簱瀛樹俊鎭洿鏂板け璐ワ紒锛�");
- }
-
- //鏂板缓璐ㄦ鍗曪紝璐ㄦ缁撴灉涓嶄細鏈夎川妫�缁撴灉
- if (Objects.isNull(orderItem.getIsptResult())) {
- operateReceipt(item, orderItem);
- }
- }
+// Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty();
+// Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty();
+//
+// Double sum = disQty + safeQty;
+// orderItem.setIsptQty(sum);
+//
+// if (sum.compareTo(0.0) > 0) {
+// if (!warehouseAreasItemService.updateById(orderItem)) {
+// throw new CoolException("鏀惰揣鍖哄簱瀛樹俊鎭洿鏂板け璐ワ紒锛�");
+// }
+// //鏂板缓璐ㄦ鍗曪紝涓嶄細鏈夎川妫�缁撴灉
+// confirmReceipt(item, orderItem);
+//
+//// if (Objects.isNull(orderItem.getIsptResult())) {
+//// operateReceipt(item, orderItem);
+//// }
+// }
}
Set<Long> isptIds = isptItem.stream().map(QlyIsptItem::getIspectId).collect(Collectors.toSet());
@@ -150,7 +151,8 @@
* @description: 璐ㄦ鍚庝慨鏀规敹璐у尯瀛樹俊鎭�
* @version 1.0
*/
- private void operateReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) {
+ @Transactional(rollbackFor = Exception.class)
+ public void confirmReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) {
Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty();
Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty();
Double sum = disQty + safeQty;
@@ -208,6 +210,11 @@
}
}
+ @Override
+ public List<QlyIsptItem> selectIsptResult(LambdaQueryWrapper<QlyIsptItem> eq) {
+ return this.baseMapper.selectIsptResult(eq);
+ }
+
/**
* @author Ryan
* @date 2025/5/12
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
index dedbb6d..a0e6052 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
@@ -62,4 +62,7 @@
/**缁勬墭鎵ц鐘舵��*/
public final static String SYS_ORDER_IN_STATUS = "sys_order_in_status";
+ /**PO鍗曟墽琛岀姸鎬�*/
+ public final static String SYS_PO_EXCE_STATUS = "sys_po_exce_status";
+
}
diff --git a/rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml
index c7f7e4e..78bfe7a 100644
--- a/rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml
@@ -26,6 +26,35 @@
update_time,
memo
FROM man_qly_ispt_item qii
- LEFT JOIN man_qly_inspect_result qir ON qii.id = qir.ispt_item_id) t ${ew.customSqlSegment}
+ LEFT JOIN man_qly_inspect_result qir ON qii.id = qir.ispt_item_id) t
+ ${ew.customSqlSegment}
+ </select>
+ <select id="selectIsptResult" resultType="com.vincent.rsf.server.manager.entity.QlyIsptItem">
+ SELECT *
+ FROM (SELECT qii.id,
+ ispect_id,
+ asn_item_id,
+ matnr_code,
+ maktx,
+ qii.rcpt_id,
+ splr_name,
+ splr_batch,
+ rcpt_qty,
+ dly_qty,
+ track_code,
+ pic_path,
+ `status`,
+ deleted,
+ tenant_id,
+ create_by,
+ COALESCE((SELECT anfme FROM man_qly_inspect_result WHERE qii.id = ispt_item_id AND ispt_result = 1), 0) AS safe_qty,
+ COALESCE((SELECT anfme FROM man_qly_inspect_result WHERE qii.id = ispt_item_id AND ispt_result = 2), 0) AS dis_qty,
+ create_time,
+ update_by,
+ update_time,
+ memo
+ FROM man_qly_ispt_item qii) t
+ ${ew.customSqlSegment}
+
</select>
</mapper>
--
Gitblit v1.9.1