From b5e4bbec339bf3858338deece026a20bc40b8923 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 06 五月 2025 15:45:32 +0800
Subject: [PATCH] no message
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java | 20 ++++++
rsf-admin/src/page/waitPakin/SelectSiteModel.jsx | 2
rsf-admin/src/page/waitPakin/WaitPakinList.jsx | 24 +++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java | 8 ++
rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx | 13 +++
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java | 4
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 34 ++++++++---
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java | 6 ++
rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx | 35 +++++++----
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java | 2
12 files changed, 122 insertions(+), 31 deletions(-)
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
index 19c2d3f..88563f3 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderList.jsx
@@ -205,6 +205,15 @@
}
export default AsnOrderList;
+const ODeleteButton = () => {
+ const record = useRecordContext();
+
+ return (
+ record.exceStatus === 0 ? <DeleteButton /> : <></>
+ )
+
+}
+
const MyButton = ({ setCreateDialog, setmodalType }) => {
const record = useRecordContext();
const handleEditClick = (btn) => {
@@ -247,7 +256,7 @@
}
return (
- <ConfirmButton label={"toolbar.inspection"} color="secondary" startIcon={<ConstructionIcon />} onConfirm={inspection} />
+ <ConfirmButton label={"toolbar.inspection"} color="secondary" startIcon={<ConstructionIcon />} onConfirm={inspection} />
)
}
@@ -351,7 +360,7 @@
// 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} />
+ record.exceStatus === 1 ? <ConfirmButton label={"toolbar.complete"} color="secondary" startIcon={<TaskIcon />} onConfirm={requestComplete} /> : <></>
)
diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
index 796ed9e..bbba6ff 100644
--- a/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
+++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
@@ -462,17 +462,17 @@
),
headerClassName: "custom",
},
- {
- field: 'splrName',
- headerName: translate('table.field.asnOrderItem.splrName') + "*",
- minWidth: 100,
- flex: 1,
- editable: true,
- renderEditCell: (params) => (
- <SelectInputSplrNameEditCell {...params} />
- ),
- headerClassName: "custom",
- },
+ // {
+ // field: 'splrName',
+ // headerName: translate('table.field.asnOrderItem.splrName') + "*",
+ // minWidth: 100,
+ // flex: 1,
+ // editable: true,
+ // renderEditCell: (params) => (
+ // <SelectInputSplrNameEditCell {...params} />
+ // ),
+ // headerClassName: "custom",
+ // },
// {
// field: 'packName',
// headerName: translate('table.field.asnOrderItem.packName'),
@@ -487,14 +487,23 @@
// flex: 1,
// },
{
- field: 'poCode',
- headerName: translate('table.field.asnOrderItem.poDetlCode') + "*",
+ field: 'platItemId',
+ headerName: translate('table.field.asnOrderItem.platItemId') + "*",
minWidth: 100,
flex: 1,
editable: true,
headerClassName: "custom",
},
+ // {
+ // field: 'poCode',
+ // headerName: translate('table.field.asnOrderItem.poDetlCode') + "*",
+ // minWidth: 100,
+ // flex: 1,
+ // editable: true,
+ // headerClassName: "custom",
+ // },
+
{
field: 'stockUnit',
headerName: translate('table.field.asnOrderItem.stockUnit'),
diff --git a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
index bf21873..d152bb5 100644
--- a/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
+++ b/rsf-admin/src/page/waitPakin/SelectSiteModel.jsx
@@ -110,7 +110,7 @@
<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">
- <SelectSiteButton source={source} setOpen={setOpen} refresh={refresh} notify={notify} />
+ <SelectSiteButton source={source} setOpen={setOpen} refresh={refresh} notify={notify} />
</WrapperField>
</StyledDatagrid>
</List>
diff --git a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
index 362885e..43aa899 100644
--- a/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
+++ b/rsf-admin/src/page/waitPakin/WaitPakinList.jsx
@@ -93,7 +93,7 @@
const [drawerVal, setDrawerVal] = useState(false);
const CreateTaskButton = () => {
- const record = useRecordContext();
+ const record = useRecordContext();
const notify = useNotify();
const refresh = useRefresh();
const { selectedIds, onUnselectItems, data } = useListContext();
@@ -114,9 +114,26 @@
)
}
- const BulkActionButtons = () => {
+ const CreateTaskRowButton = () => {
+ const record = useRecordContext();
+ const refresh = useRefresh();
+ const createTask = (event) => {
+ event.stopPropagation();
+ setSiteDialog(true)
+ setSource([record])
+ refresh()
+ }
+
+ return (
+ <>
+ <Button onClick={(event) => createTask(event)} label={"toolbar.createTask"}>
+ <AddIcon />
+ </Button>
+ </>
+ )
}
+
return (
<Box display="flex">
<List
@@ -164,6 +181,7 @@
<TextField source="memo" label="common.field.memo" sortable={false} />
<WrapperField cellClassName="opt" label="common.field.opt">
<EditButton label="toolbar.detail" sx={{ padding: '1px', fontSize: '.75rem' }} />
+ <CreateTaskRowButton />
{/* <DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} /> */}
</WrapperField>
</StyledDatagrid>
@@ -186,3 +204,5 @@
export default WaitPakinList;
+
+
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 7cbc8e9..d0df993 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
@@ -23,6 +23,7 @@
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.enums.AsnExceStatus;
import com.vincent.rsf.server.manager.enums.PakinIOStatus;
+import com.vincent.rsf.server.manager.enums.QlyIsptResult;
import com.vincent.rsf.server.manager.enums.QlyIsptStatus;
import com.vincent.rsf.server.manager.mapper.*;
import com.vincent.rsf.server.manager.service.*;
@@ -293,15 +294,9 @@
if (asnOrderItemMapper.updateById(orderItem) < 1) {
throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�");
}
+ /**淇濆瓨鏄庣粏鑷虫敹璐у尯**/
+ extracted(loginUserId, dto, areasItem, orderItem, asnOrder, matnr);
- 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);
- }
- }
}
AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode));
@@ -340,19 +335,38 @@
.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("鏀惰揣澶辫触锛侊紒");
}
+
+// if (null != orderItem.getSafeQty() || null != orderItem.getDisQty() ) {
+//
+// }
+// else {
+// //涓嶅悎鏍兼暟閲�
+// if (orderItem.getDisQty().compareTo(0.00) > 0) {
+// item.setIsptQty(orderItem.getDisQty()).setFlagNorm(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val);
+// if (!warehouseAreasItemService.saveOrUpdate(item)) {
+// throw new CoolException("鏀惰揣澶辫触锛侊紒");
+// }
+// }
+//
+// item.setIsptQty(orderItem.getSafeQty()).setFlagNorm(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
+// if (!warehouseAreasItemService.saveOrUpdate(item)) {
+// throw new CoolException("鏀惰揣澶辫触锛侊紒");
+// }
+// }
+
+
}
/**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java
index 946f56a..2865546 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/PurchaseController.java
@@ -9,21 +9,30 @@
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
+import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.Purchase;
+import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.PurchaseService;
+import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.controller.BaseController;
+import com.vincent.rsf.server.system.utils.SerialRuleUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
@RestController
public class PurchaseController extends BaseController {
@Autowired
private PurchaseService purchaseService;
+
+ @Autowired
+ private AsnOrderItemService asnOrderItemService;
@PreAuthorize("hasAuthority('manager:purchase:list')")
@PostMapping("/purchase/page")
@@ -59,6 +68,11 @@
purchase.setCreateTime(new Date());
purchase.setUpdateBy(getLoginUserId());
purchase.setUpdateTime(new Date());
+ if (StringUtils.isBlank(purchase.getCode())) {
+ String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_ORDER_PO_CODE, purchase);
+ purchase.setCode(ruleCode);
+ }
+
if (!purchaseService.save(purchase)) {
return R.error("Save Fail");
}
@@ -81,6 +95,12 @@
@OperationLog("Delete ERP閲囪喘鍗�")
@PostMapping("/purchase/remove/{ids}")
public R remove(@PathVariable Long[] ids) {
+ List<Purchase> purchases = purchaseService.listByIds(Arrays.asList(ids));
+ Set<String> stringSet = purchases.stream().map(Purchase::getCode).collect(Collectors.toSet());
+ List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getPoCode, stringSet));
+ if (!orderItems.isEmpty()) {
+ return R.error("鍗曟嵁鏈夊凡鐢熸垚鐨勬敹璐у崟鏄庣粏锛屼笉鍙墽琛屽垹闄ゆ搷浣滐紒锛�");
+ }
if (!purchaseService.removeByIds(Arrays.asList(ids))) {
return R.error("Delete Fail");
}
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 d3fc19e..f896cf4 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
@@ -202,9 +202,11 @@
@ApiModelProperty("鍚堟牸鏁伴噺")
+ @TableField(exist = false)
private Double safeQty;
@ApiModelProperty("涓嶅悎鏍兼暟閲�")
+ @TableField(exist = false)
private Double disQty;
/**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java
index 5527dbe..0fdda32 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/WarehouseAreasItem.java
@@ -198,6 +198,12 @@
@ApiModelProperty(value= "淇敼浜哄憳")
private Long updateBy;
+ @ApiModelProperty("鏄惁鍚堟牸")
+ private Short flagNorm;
+
+ @ApiModelProperty("璐ㄦ鏁伴噺")
+ private Double isptQty;
+
/**
* 淇敼鏃堕棿
*/
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java
index 3598f07..b00e101 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/QlyIsptResult.java
@@ -13,7 +13,7 @@
QLY_ISPT_RESULT_DEFECT("2", "涓嶅悎鏍�"),
QLY_ISPT_RESULT_PENDING("3", "寰呭畾"),
QLY_ISPT_RESULT_SECTION("4", "閮ㄥ垎鍚堟牸"),
- QLY_ISPT_RESULT_HOLD("0", "鍏跺畠")
+ QLY_ISPT_RESULT_HOLD("0", "鏈川妫�")
;
QlyIsptResult(String val, String desc) {
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 43ef3b5..9255348 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
@@ -199,6 +199,14 @@
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
}
+ if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) {
+ Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
+ .eq(Companys::getId, asnOrderItem.getSplrCode())
+ .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val));
+ if (!Objects.isNull(companys)) {
+ asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
+ }
+ }
if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) {
throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java
index 3546c5c..04dc68c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java
@@ -74,4 +74,7 @@
*/
public final static String SYS_WAVE_TYPE = "sys_wave_type";
+ /**PO鍗曠紪鐮�*/
+ public final static String SYS_ORDER_PO_CODE = "sys_order_po_code";
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
index 4e67c2f..d7b494e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
@@ -64,9 +64,9 @@
if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_YEAR.type)) {
format = DateUtils.format(new Date(), "yyyy");
} else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_MONTH.type)) {
- format = DateUtils.format(new Date(), "yyyyMM");
+ format = DateUtils.format(new Date(), "yyMM");
} else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_DAYS.type)){
- format = DateUtils.format(new Date(), "yyyyMMdd");
+ format = DateUtils.format(new Date(), "yyMMdd");
}
//褰撳墠鍊艰嚜鍔ㄥ姞1
Integer curVal = serialRule.getCurrValue() + 1;
--
Gitblit v1.9.1