From 3ec190500044a26e48a3eb4e414e92869595bce8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 06 五月 2025 13:11:11 +0800
Subject: [PATCH] 单据明细优化
---
rsf-admin/src/page/orders/stock/OrderList.jsx | 4
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx | 22 ++--
rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml | 59 +++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 103 +++++++++++---------
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java | 7 +
rsf-admin/src/page/locItem/LocItemList.jsx | 6 -
rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx | 11 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java | 20 ++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java | 20 ++--
rsf-admin/src/i18n/zh.js | 3
rsf-admin/src/i18n/en.js | 1
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java | 3
rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java | 4
13 files changed, 177 insertions(+), 86 deletions(-)
diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js
index 4406d71..bcdff99 100644
--- a/rsf-admin/src/i18n/en.js
+++ b/rsf-admin/src/i18n/en.js
@@ -578,6 +578,7 @@
asnId: "asnId",
asnCode: "asnCode",
poDetlId: "poDetlId",
+ platItemId: 'platItemId',
poDetlCode: "poDetlCode",
matnrId: "matnrId",
maktx: "maktx",
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 5fad2bf..9cb046b 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -568,6 +568,7 @@
asnCode: "涓诲崟缂栫爜",
poDetlId: "PO鍗旾D",
poDetlCode: "PO鍗�",
+ platItemId: '琛屽彿',
matnrId: "鐗╂枡鏍囪瘑",
maktx: "鐗╂枡鍚嶇О",
spec: "瑙勬牸",
@@ -1051,7 +1052,7 @@
batchLocType: "鎵归噺搴撲綅绫诲瀷",
batchPrint: "鎵归噺鎵撳嵃",
quality: "璐ㄦ",
- complete: "瀹屾垚",
+ complete: "瀹岀粨",
close: "鍏抽棴",
asnCreate: "閫氳繃鍗曟嵁鍒涘缓",
createTask: "涓嬪彂浠诲姟",
diff --git a/rsf-admin/src/page/locItem/LocItemList.jsx b/rsf-admin/src/page/locItem/LocItemList.jsx
index 7b4aa44..8822317 100644
--- a/rsf-admin/src/page/locItem/LocItemList.jsx
+++ b/rsf-admin/src/page/locItem/LocItemList.jsx
@@ -128,7 +128,7 @@
preferenceKey='locItem'
bulkActionButtons={false}
rowClick={false}
- expand={() => <LocItemPanel />}
+ expand={false}
expandSingle={true}
omit={['id', 'createTime','locId','orderId', 'orderItemId', 'matnrId', 'splrBatch','workQty','qty', 'createBy', 'memo','fieldsIndex']}
@@ -157,10 +157,6 @@
<DateField source="createTime" label="common.field.createTime" showTime />
<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' }} />
- {/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
- </WrapperField>
</StyledDatagrid>
</List>
<LocItemCreate
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
index e35ba63..c78bcf7 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx
@@ -138,13 +138,14 @@
// setSelect(record)
// setEditDialog(true)
// }}
- omit={['id', 'createTime', 'purQty', 'purUnit', 'poDetlCode', 'createBy', 'memo', 'model', 'packName', 'splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']}
+ omit={['id', 'purQty', 'purUnit','platItemId', 'poDetlCode', 'memo', 'model', 'packName', 'splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']}
>
<NumberField source="id" />
<NumberField source="asnId" label="table.field.asnOrderItem.asnId" />
<TextField source="asnCode" label="table.field.asnOrderItem.asnCode" />
<TextField source="poDetlId" label="table.field.asnOrderItem.poDetlId" />
<TextField source="poDetlCode" label="table.field.asnOrderItem.poDetlCode" />
+ <TextField source="platItemId" label="table.field.asnOrderItem.platItemId" />
<TextField source="matnrId" label="table.field.asnOrderItem.matnrId" />
<TextField source="matnrCode" label="table.field.asnOrderItem.matnrCode" />
<TextField source="maktx" label="table.field.asnOrderItem.maktx" />
@@ -165,8 +166,12 @@
<TextField source="trackCode" label="table.field.asnOrderItem.barcode" />
<TextField source="packName" label="table.field.asnOrderItem.packName" />
<DateField source="updateTime" label="common.field.updateTime" showTime />
- <TextField source="updateBy$" label="common.field.updateBy" />
- <TextField source="createBy$" label="common.field.createBy" />
+ <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}>
+ <TextField source="nickname" />
+ </ReferenceField>
+ <ReferenceField source="createBy" label="common.field.createBy" reference="user" link={false} sortable={false}>
+ <TextField source="nickname" />
+ </ReferenceField>
<DateField source="createTime" label="common.field.createTime" showTime />
<TextField source="memo" label="common.field.memo" sortable={false} />
</StyledDatagrid>
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
index 345c3a1..19c2d3f 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -132,7 +132,7 @@
title={"menu.asnOrder"}
empty={false}
filters={filters}
- filter={{deleted: 0}}
+ filter={{ deleted: 0 }}
sort={{ field: "create_time", order: "desc" }}
actions={(
<TopToolbar>
@@ -183,7 +183,8 @@
<MyButton setCreateDialog={setCreateDialog} setmodalType={setmodalType} />
<InspectionButton />
<CompleteButton />
- <CloseButton />
+ <DeleteButton mutationMode="pessimistic" />
+ {/* <CloseButton /> */}
</WrapperField>
</StyledDatagrid>
</List>
@@ -225,6 +226,7 @@
)
}
+//鎶ユ
const InspectionButton = () => {
const record = useRecordContext();
const notify = useNotify();
@@ -244,11 +246,8 @@
}
}
-
return (
- <Button onClick={inspection} label={"toolbar.inspection"}>
- <ConstructionIcon />
- </Button>
+ <ConfirmButton label={"toolbar.inspection"} color="secondary" startIcon={<ConstructionIcon />} onConfirm={inspection} />
)
}
@@ -332,6 +331,7 @@
)
}
+//瀹屾垚鍗曟嵁
const CompleteButton = () => {
const record = useRecordContext();
const notify = useNotify();
@@ -348,10 +348,10 @@
}
return (
- record.exceStatus === 1 && (record.anfme === record.qty ? <Button onClick={requestComplete} label={"toolbar.complete"} color="success">
- <TaskIcon />
- </Button> : <ConfirmButton label={"toolbar.complete"} color="success" data={'褰撳墠鏀惰揣鏁伴噺灏忎簬璁″垝鏁伴噺锛屾槸鍚︾‘璁ゅ畬鎴�'} startIcon={<TaskIcon />} onConfirm={requestComplete} />)
-
+ // record.exceStatus === 1 && (record.anfme === record.qty ? <Button onClick={requestComplete} label={"toolbar.complete"} color="secondary">
+ // <TaskIcon />
+ // </Button> : )
+ <ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskIcon />} onConfirm={requestComplete} />
)
@@ -373,6 +373,6 @@
}
return (
- <ConfirmButton label={"toolbar.close"} color="error" data={'纭鏄惁鍏抽棴锛�'} startIcon={<CloseIcon />} onConfirm={requestClose} />
+ <ConfirmButton label={"toolbar.close"} color="error" startIcon={<CloseIcon />} onConfirm={requestClose} />
)
}
diff --git a/rsf-admin/src/page/orders/stock/OrderList.jsx b/rsf-admin/src/page/orders/stock/OrderList.jsx
index 0f498e6..bfb26c5 100644
--- a/rsf-admin/src/page/orders/stock/OrderList.jsx
+++ b/rsf-admin/src/page/orders/stock/OrderList.jsx
@@ -113,9 +113,9 @@
>
<StyledDatagrid
preferenceKey='stock'
- bulkActionButtons={() => <BulkDeleteButton mutationMode={OPERATE_MODE} />}
+ bulkActionButtons={false}
rowClick='edit'
- expandSingle={true}
+ expandSingle={false}
omit={['id', 'createTime','sourceId', 'createBy', 'memo']}
>
<NumberField source="id" />
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java
index e576ffd..6427b32 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/ReceiptDetlsDto.java
@@ -28,6 +28,9 @@
@ApiModel(value = "ReceiptDetlsDto", description = "鏀惰揣鏄庣粏淇℃伅")
public class ReceiptDetlsDto implements Serializable {
+ @ApiModelProperty("鏄庣粏ID")
+ private Long id;
+
@ApiModelProperty("鏀惰揣閫氱煡鍗�")
private String asnCode;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 537556c..d59b56d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -254,10 +254,14 @@
// if (dto.getReceiptQty().compareTo(dto.getAnfme()) > 0) {
// throw new CoolException("鏀惰揣鏁伴噺涓嶈兘澶т簬閲囪喘鏁伴噺锛侊紒");
// }
- AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>()
- .eq(AsnOrderItem::getAsnCode, asnCode)
- .eq(AsnOrderItem::getTrackCode, dto.getBarcode())
- .eq(AsnOrderItem::getMatnrId, dto.getMatnrId()));
+// AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>()
+// .eq(AsnOrderItem::getAsnCode, asnCode)
+// .eq(AsnOrderItem::getId, dto.getId())
+// .eq(AsnOrderItem::getTrackCode, dto.getBarcode())
+// .eq(AsnOrderItem::getSplrBatch, dto.getSplrBatch()));
+
+ AsnOrderItem orderItem = asnOrderItemMapper.resultById(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, dto.getId()));
+
if (Objects.isNull(orderItem)) {
throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒");
}
@@ -290,47 +294,13 @@
throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�");
}
- WarehouseAreasItem item = new WarehouseAreasItem();
-// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-// String format = null;
-// if (Objects.isNull(dto.getProdTime())) {
-// format = dateFormat.format(dto.getProdTime());
-// }
- item.setTrackCode(dto.getBarcode())
- .setAreaName(areasItem.getName())
- .setAreaId(areasItem.getId())
- .setAsnItemId(orderItem.getId())
- .setAsnCode(asnOrder.getCode())
- .setAsnId(asnOrder.getId())
- .setProdTime(dto.getProdTime())
- .setWeight(dto.getWeigth())
- //搴撳瓨鍗曚綅涓烘渶灏忓崟浣�
- .setUnit(orderItem.getStockUnit())
- .setStockUnit(orderItem.getStockUnit())
- .setBatch(StringUtils.isBlank(orderItem.getBatch()) ? SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto) : orderItem.getBatch())
- .setAnfme(dto.getReceiptQty())
- .setSplrBatch(dto.getSplrBatch())
- .setMatnrCode(matnr.getCode())
- .setUpdateBy(loginUserId)
- .setCreateBy(loginUserId)
- .setMatnrId(matnr.getId())
- .setMaktx(matnr.getName())
- .setWeight(matnr.getWeight())
- .setFieldsIndex(orderItem.getFieldsIndex())
- .setShipperId(matnr.getShipperId());
- //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲
-
- WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
- .eq(WarehouseAreasItem::getAsnItemId, item.getAsnItemId())
- .eq(WarehouseAreasItem::getTrackCode, item.getTrackCode())
- .eq(StringUtils.isNotBlank(item.getSplrBatch()), WarehouseAreasItem::getSplrBatch, item.getSplrBatch()));
- if (!Objects.isNull(serviceOne)) {
- item.setAnfme(item.getAnfme() + serviceOne.getAnfme());
- item.setId(serviceOne.getId());
- }
-
- if (!warehouseAreasItemService.saveOrUpdate(item)) {
- throw new CoolException("鏀惰揣澶辫触锛侊紒");
+ List<QlyIsptItem> isptItems = qlyIsptItemService.list(new LambdaQueryWrapper<QlyIsptItem>().eq(QlyIsptItem::getAsnItemId, dto.getId()));
+ if (isptItems.isEmpty()) {
+ extracted(loginUserId, dto, areasItem, orderItem, asnOrder, matnr);
+ } else {
+ for (QlyIsptItem isptItem : isptItems) {
+ extracted(loginUserId, dto, areasItem, orderItem, asnOrder, matnr);
+ }
}
}
@@ -343,6 +313,46 @@
}
return R.ok("鏀惰揣鎴愬姛锛侊紒");
+ }
+
+ private void extracted(Long loginUserId, ReceiptDetlsDto dto, WarehouseAreas areasItem, AsnOrderItem orderItem, AsnOrder asnOrder, Matnr matnr) {
+ WarehouseAreasItem item = new WarehouseAreasItem();
+ item.setTrackCode(dto.getBarcode())
+ .setAreaName(areasItem.getName())
+ .setAreaId(areasItem.getId())
+ .setAsnItemId(orderItem.getId())
+ .setAsnCode(asnOrder.getCode())
+ .setAsnId(asnOrder.getId())
+ .setProdTime(dto.getProdTime())
+ .setWeight(dto.getWeigth())
+ //搴撳瓨鍗曚綅涓烘渶灏忓崟浣�
+ .setUnit(orderItem.getStockUnit())
+ .setStockUnit(orderItem.getStockUnit())
+ .setBatch(StringUtils.isBlank(orderItem.getBatch()) ? SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto) : orderItem.getBatch())
+ .setAnfme(dto.getReceiptQty())
+ .setSplrBatch(dto.getSplrBatch())
+ .setMatnrCode(matnr.getCode())
+ .setUpdateBy(loginUserId)
+ .setCreateBy(loginUserId)
+ .setMatnrId(matnr.getId())
+ .setMaktx(matnr.getName())
+ .setWeight(matnr.getWeight())
+ .setFieldsIndex(orderItem.getFieldsIndex())
+ .setShipperId(matnr.getShipperId());
+ //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲
+
+ WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(new LambdaQueryWrapper<WarehouseAreasItem>()
+ .eq(WarehouseAreasItem::getAsnItemId, item.getAsnItemId())
+ .eq(WarehouseAreasItem::getTrackCode, item.getTrackCode())
+ .eq(StringUtils.isNotBlank(item.getSplrBatch()), WarehouseAreasItem::getSplrBatch, item.getSplrBatch()));
+ if (!Objects.isNull(serviceOne)) {
+ item.setAnfme(item.getAnfme() + serviceOne.getAnfme());
+ item.setId(serviceOne.getId());
+ }
+
+ if (!warehouseAreasItemService.saveOrUpdate(item)) {
+ throw new CoolException("鏀惰揣澶辫触锛侊紒");
+ }
}
/**
@@ -420,7 +430,7 @@
* @time 2025/4/7 16:58
*/
@Override
- public R getDeltByCode(Map<String, Object> params ) {
+ public R getDeltByCode(Map<String, Object> params) {
String code = params.get("code").toString();
String batch = null;
if (!Objects.isNull(params.get("batch"))) {
@@ -938,6 +948,7 @@
ReceiptDetlsDto detlsDto = new ReceiptDetlsDto();
detlsDto.setAsnCode(asnOrderItem.getAsnCode())
+ .setId(asnOrderItem.getId())
.setMaktx(asnOrderItem.getMaktx())
.setFieldsIndex(asnOrderItem.getFieldsIndex())
.setBarcode(asnOrderItem.getTrackCode())
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
index 18b0a4a..49b50fa 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java
@@ -200,6 +200,13 @@
@ApiModelProperty("璐ㄦ鐘舵��")
private Short isptStatus;
+
+ @ApiModelProperty("鍚堟牸鏁伴噺")
+ private Double safeQty;
+
+ @ApiModelProperty("涓嶅悎鏍兼暟閲�")
+ private Double disQty;
+
/**
* 鐘舵�� 1: 姝e父 0: 鍐荤粨
*/
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java
index c8b8e13..c605541 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/AsnOrderTemplate.java
@@ -60,13 +60,13 @@
*/
@Excel(name = "涓氬姟绫诲瀷")
@ApiModelProperty(value= "涓氬姟绫诲瀷")
- @ExcelComment(value = "wkType", example = "鐢熶骇鍏ュ簱")
+ @ExcelComment(value = "wkType", example = "瀹屽伐鍏ュ簱鍗�")
private String wkType;
@Excel(name = "鎵ц鐘舵��")
@ApiModelProperty(value= "鎵ц鐘舵��")
- @ExcelComment(value = "exceStatus", example = "1")
+ @ExcelComment(value = "exceStatus", example = "0")
private String exceStatus;
@Excel(name = "琛屽彿")
@@ -126,12 +126,12 @@
@Excel(name = "渚涘簲鍟嗙紪鐮�")
@ApiModelProperty("渚涘簲鍟嗙紪鐮�")
- @ExcelComment(value = "splrCode",example = "3654821")
+ @ExcelComment(value = "splrCode",example = "685947")
private String splrCode;
@Excel(name = "渚涘簲鍟嗗悕绉�")
@ApiModelProperty("渚涘簲鍟嗗悕绉�")
- @ExcelComment(value = "splrName",example = "娴欐睙涓壃鎶�鏈叕鍙�")
+ @ExcelComment(value = "splrName",example = "娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�")
private String splrName;
@Excel(name = "渚涘簲鍟嗘壒娆�")
@@ -139,19 +139,19 @@
@ExcelComment(value = "splrBatch",example = "25251212")
private String splrBatch;
- @Excel(name = "浜岀淮鐮�")
- @ApiModelProperty("浜岀淮鐮�")
- @ExcelComment(value = "qrcode",example = "")
- private String qrcode;
+// @Excel(name = "浜岀淮鐮�")
+// @ApiModelProperty("浜岀淮鐮�")
+// @ExcelComment(value = "qrcode",example = "")
+// private String qrcode;
@Excel(name = "鏉″舰鐮�")
@ApiModelProperty("鏉″舰鐮�")
- @ExcelComment(value = "barcode",example = "2354788")
+ @ExcelComment(value = "barcode",example = "")
private String barcode;
@Excel(name = "璺熻釜鐮�")
@ApiModelProperty("璺熻釜鐮�")
- @ExcelComment(value = "trackCode",example = "2354788")
+ @ExcelComment(value = "trackCode",example = "")
private String trackCode;
@Excel(name = "鍖呰鍚嶇О")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
index 25d621b..dc48b56 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemMapper.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,6 +12,7 @@
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+import java.util.List;
import java.util.Map;
@Mapper
@@ -19,6 +21,6 @@
IPage<Map<String, Object>> resultForMap(PageParam<AsnOrderItem, BaseParam> pages, @Param(Constants.WRAPPER) QueryWrapper<AsnOrderItem> buildWrapper);
-// List<Map<String, Object>> resultForMap(long pageParam, @Param(Constants.WRAPPER) QueryWrapper<AsnOrderItem> ew);
+ AsnOrderItem resultById(@Param(Constants.WRAPPER) LambdaQueryWrapper<AsnOrderItem> buildWrapper);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index 9ab4f72..43ef3b5 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -20,6 +20,7 @@
import com.vincent.rsf.server.manager.entity.Companys;
import com.vincent.rsf.server.manager.entity.Matnr;
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
+import com.vincent.rsf.server.manager.enums.CompanysType;
import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
@@ -127,13 +128,15 @@
sbFaild.append(orderTemplate.getMatnrCode()).append("鐗╂枡涓嶅瓨鍦�");
continue;
}
+ String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr);
orderItem.setAsnId(order.getId())
.setAsnCode(order.getCode())
.setSplrBatch(orderTemplate.getSplrBatch())
+ .setPlatItemId(orderTemplate.getPlatItemId())
.setAnfme(Double.parseDouble(orderTemplate.getAnfme()))
.setQty(Double.parseDouble(orderTemplate.getQty()))
- .setBarcode(orderTemplate.getBarcode())
- .setTrackCode(orderTemplate.getTrackCode())
+ .setTrackCode(StringUtils.isBlank(orderTemplate.getTrackCode()) ? trackCode : orderTemplate.getTrackCode())
+ .setBarcode(StringUtils.isBlank(orderTemplate.getBarcode()) ? trackCode : orderTemplate.getBarcode())
.setPoCode(orderTemplate.getPoCode())
.setPurUnit(orderTemplate.getPurUnit())
.setCreateBy(loginUserId)
@@ -146,18 +149,21 @@
.setMatnrId(matnr.getId())
.setStockUnit(matnr.getUnit());
if (!Objects.isNull(orderTemplate.getSplrCode())) {
- Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderTemplate.getSplrCode()));
+ Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
+ .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)
+ .eq(Companys::getCode, orderTemplate.getSplrCode()));
if (!Objects.isNull(companys)) {
orderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
} else {
- orderItem.setSplrCode(orderTemplate.getSplrCode()).setSplrName(orderTemplate.getSplrName() + "(渚涘簲鍟嗕笉瀛樺湪锛侊紒)");
+ sbFaild.append("渚涘簲鍟�:" + orderTemplate.getSplrCode()).append("涓嶅瓨鍦�");
+ continue;
}
} else {
continue;
}
-
items.add(orderItem);
- if (!asnOrderItemService.saveBatch(items)) {
+
+ if (!asnOrderItemService.save(orderItem)) {
throw new CoolException("鍗曟嵁鏄庣粏淇濆瓨澶辫触锛侊紒");
}
}
@@ -173,7 +179,7 @@
}
}
- return R.ok("鎿嶄綔鎴愬姛," + sbFaild.toString());
+ return R.ok("瀵煎叆鎴愬姛锛�" + sbFaild.toString());
}
/**
diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
index 07fd049..7192284 100644
--- a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
+++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml
@@ -61,4 +61,63 @@
) t
${ew.customSqlSegment}
</select>
+ <select id="resultById" resultType="com.vincent.rsf.server.manager.entity.AsnOrderItem">
+ SELECT
+ *
+ FROM
+ (
+ SELECT
+ aoi.id,
+ aoi.asn_id,
+ aoi.asn_code,
+ aoi.plat_item_id,
+ aoi.po_detl_id,
+ aoi.po_code,
+ aoi.fields_index,
+ aoi.matnr_id,
+ aoi.matnr_code,
+ aoi.maktx,
+ aoi.anfme,
+ aoi.stock_unit,
+ aoi.pur_qty,
+ aoi.pur_unit,
+ aoi.prod_time,
+ aoi.qty,
+ qii.safe_qty,
+ qii.dis_qty,
+ aoi.splr_code,
+ aoi.splr_batch,
+ aoi.splr_name,
+ aoi.qrcode,
+ aoi.track_code,
+ aoi.barcode,
+ aoi.pack_name,
+ aoi.nty_status,
+ aoi.`status`,
+ CASE
+ aoi.ispt_result
+ WHEN 0 THEN
+ '鏈'
+ WHEN 1 THEN
+ '鍚堟牸'
+ WHEN 2 THEN
+ '涓嶅悎鏍�'
+ WHEN 3 THEN
+ '寰呭畾'
+ WHEN 4 THEN
+ '閮ㄥ垎鍚堟牸'
+ END AS isptResult$,
+ aoi.deleted,
+ aoi.tenant_id,
+ aoi.create_by,
+ aoi.create_time,
+ aoi.update_by,
+ aoi.update_time,
+ aoi.memo
+ FROM
+ man_asn_order_item aoi
+ LEFT JOIN man_qly_ispt_item qii ON aoi.id = qii.asn_item_id
+ ) t
+ ${ew.customSqlSegment}
+ </select>
</mapper>
--
Gitblit v1.9.1