From 307d5a291ca19496d4abee0e099ebe3eb39ac7d2 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期三, 02 四月 2025 10:59:19 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-admin/src/page/taskItem/TaskItemCreate.jsx | 15 rsf-admin/src/page/taskItem/TaskItemList.jsx | 6 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 148 +++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/IsptHistoriesMapper.java | 12 rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java | 49 +++ rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java | 23 + rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 22 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java | 39 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java | 4 rsf-admin/src/i18n/zh.js | 4 rsf-admin/.env | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java | 2 rsf-server/src/main/resources/mapper/manager/IsptHistoriesMapper.xml | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/IsptHistoriesService.java | 8 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java | 12 rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java | 10 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java | 42 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/IsptHistories.java | 202 +++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectDetlDto.java | 28 + /dev/null | 5 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java | 7 rsf-admin/src/page/task/TaskList.jsx | 8 rsf-admin/src/page/taskItem/TaskItemPanel.jsx | 12 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/IsptHistoriesController.java | 110 +++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/IsptHistoriesServiceImpl.java | 12 rsf-admin/src/page/taskItem/TaskItemEdit.jsx | 14 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/controller/TaskController.java | 7 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectItemDto.java | 31 ++ 31 files changed, 758 insertions(+), 87 deletions(-) diff --git a/rsf-admin/.env b/rsf-admin/.env index a8ce658..75359a8 100644 --- a/rsf-admin/.env +++ b/rsf-admin/.env @@ -1,3 +1,3 @@ -VITE_BASE_IP=192.168.4.24 +VITE_BASE_IP=192.168.4.13 # VITE_BASE_IP=47.76.147.249 VITE_BASE_PORT=8080 diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index 06efe6e..e06766b 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -679,8 +679,8 @@ }, task: { taskCode: "浠诲姟鍙�", - taskStatus: "浠诲姟鐘舵��", - taskType: "浠诲姟绫诲瀷", + taskStatus: "鐘舵��", + taskType: "绫诲瀷", orgLoc: "婧愬簱浣�", orgSite: "婧愮珯鐐�", targLoc: "鐩爣搴撲綅", diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx index c46301c..5cd8e66 100644 --- a/rsf-admin/src/page/task/TaskList.jsx +++ b/rsf-admin/src/page/task/TaskList.jsx @@ -78,7 +78,6 @@ <TextInput source="expCode" label="table.field.task.expCode" />, <DateInput source="startTime" label="table.field.task.startTime" />, <DateInput source="endTime" label="table.field.task.endTime" />, - <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -132,8 +131,8 @@ > <NumberField source="id" /> <TextField source="taskCode" label="table.field.task.taskCode" /> - <NumberField source="taskStatus" label="table.field.task.taskStatus" /> - <NumberField source="taskType" label="table.field.task.taskType" /> + <NumberField source="taskStatus$" label="table.field.task.taskStatus" /> + <NumberField source="taskType$" label="table.field.task.taskType" /> <TextField source="orgLoc" label="table.field.task.orgLoc" /> <TextField source="orgSite" label="table.field.task.orgSite" /> <TextField source="targLoc" label="table.field.task.targLoc" /> @@ -144,9 +143,6 @@ <TextField source="expDesc" label="table.field.task.expDesc" /> <NumberField source="sort" label="table.field.task.sort" /> <TextField source="expCode" label="table.field.task.expCode" /> - <DateField source="startTime" label="table.field.task.startTime" showTime /> - <DateField source="endTime" label="table.field.task.endTime" showTime /> - <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> <TextField source="nickname" /> </ReferenceField> diff --git a/rsf-admin/src/page/taskItem/TaskItemCreate.jsx b/rsf-admin/src/page/taskItem/TaskItemCreate.jsx index 315e6d9..02bdbd1 100644 --- a/rsf-admin/src/page/taskItem/TaskItemCreate.jsx +++ b/rsf-admin/src/page/taskItem/TaskItemCreate.jsx @@ -110,13 +110,6 @@ /> </Grid> <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItem.sourceCode" - source="sourceCode" - parse={v => v} - /> - </Grid> - <Grid item xs={6} display="flex" gap={1}> <NumberInput label="table.field.taskItem.matnrId" source="matnrId" @@ -170,13 +163,7 @@ parse={v => v} /> </Grid> - <Grid item xs={6} display="flex" gap={1}> - <TextInput - label="table.field.taskItem.fieldsIndex" - source="fieldsIndex" - parse={v => v} - /> - </Grid> + <Grid item xs={6} display="flex" gap={1}> <StatusSelectInput /> diff --git a/rsf-admin/src/page/taskItem/TaskItemEdit.jsx b/rsf-admin/src/page/taskItem/TaskItemEdit.jsx index 7157484..df2b7b6 100644 --- a/rsf-admin/src/page/taskItem/TaskItemEdit.jsx +++ b/rsf-admin/src/page/taskItem/TaskItemEdit.jsx @@ -89,13 +89,6 @@ /> </Stack> <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItem.sourceCode" - source="sourceCode" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> <NumberInput label="table.field.taskItem.matnrId" source="matnrId" @@ -146,13 +139,6 @@ <TextInput label="table.field.taskItem.model" source="model" - parse={v => v} - /> - </Stack> - <Stack direction='row' gap={2}> - <TextInput - label="table.field.taskItem.fieldsIndex" - source="fieldsIndex" parse={v => v} /> </Stack> diff --git a/rsf-admin/src/page/taskItem/TaskItemList.jsx b/rsf-admin/src/page/taskItem/TaskItemList.jsx index 6e1217a..e92a6b7 100644 --- a/rsf-admin/src/page/taskItem/TaskItemList.jsx +++ b/rsf-admin/src/page/taskItem/TaskItemList.jsx @@ -62,12 +62,10 @@ <SearchInput source="condition" alwaysOn />, <DateInput label='common.time.after' source="timeStart" alwaysOn />, <DateInput label='common.time.before' source="timeEnd" alwaysOn />, - <NumberInput source="taskId" label="table.field.taskItem.taskId" />, <NumberInput source="orderId" label="table.field.taskItem.orderId" />, <NumberInput source="orderType" label="table.field.taskItem.orderType" />, <NumberInput source="orderItemId" label="table.field.taskItem.orderItemId" />, - <TextInput source="sourceCode" label="table.field.taskItem.sourceCode" />, <NumberInput source="matnrId" label="table.field.taskItem.matnrId" />, <TextInput source="maktx" label="table.field.taskItem.maktx" />, <TextInput source="matnrCode" label="table.field.taskItem.matnrCode" />, @@ -76,8 +74,6 @@ <TextInput source="batch" label="table.field.taskItem.batch" />, <TextInput source="spec" label="table.field.taskItem.spec" />, <TextInput source="model" label="table.field.taskItem.model" />, - <TextInput source="fieldsIndex" label="table.field.taskItem.fieldsIndex" />, - <TextInput label="common.field.memo" source="memo" />, <SelectInput label="common.field.status" @@ -134,7 +130,6 @@ <NumberField source="orderId" label="table.field.taskItem.orderId" /> <NumberField source="orderType" label="table.field.taskItem.orderType" /> <NumberField source="orderItemId" label="table.field.taskItem.orderItemId" /> - <TextField source="sourceCode" label="table.field.taskItem.sourceCode" /> <NumberField source="matnrId" label="table.field.taskItem.matnrId" /> <TextField source="maktx" label="table.field.taskItem.maktx" /> <TextField source="matnrCode" label="table.field.taskItem.matnrCode" /> @@ -143,7 +138,6 @@ <TextField source="batch" label="table.field.taskItem.batch" /> <TextField source="spec" label="table.field.taskItem.spec" /> <TextField source="model" label="table.field.taskItem.model" /> - <TextField source="fieldsIndex" label="table.field.taskItem.fieldsIndex" /> <ReferenceField source="updateBy" label="common.field.updateBy" reference="user" link={false} sortable={false}> <TextField source="nickname" /> diff --git a/rsf-admin/src/page/taskItem/TaskItemPanel.jsx b/rsf-admin/src/page/taskItem/TaskItemPanel.jsx index 52f58c1..9bc1f7a 100644 --- a/rsf-admin/src/page/taskItem/TaskItemPanel.jsx +++ b/rsf-admin/src/page/taskItem/TaskItemPanel.jsx @@ -66,12 +66,6 @@ </Grid> <Grid item xs={6}> <PanelTypography - title="table.field.taskItem.sourceCode" - property={record.sourceCode} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography title="table.field.taskItem.matnrId" property={record.matnrId} /> @@ -116,12 +110,6 @@ <PanelTypography title="table.field.taskItem.model" property={record.model} - /> - </Grid> - <Grid item xs={6}> - <PanelTypography - title="table.field.taskItem.fieldsIndex" - property={record.fieldsIndex} /> </Grid> diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java index bfa87a9..ac02aaa 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.api.controller.params.CheckObjParams; import com.vincent.rsf.server.api.controller.params.OtherReceiptParams; import com.vincent.rsf.server.api.controller.params.ReceiptParams; import com.vincent.rsf.server.api.service.MobileService; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.AsnOrderItem; +import com.vincent.rsf.server.manager.entity.QlyIsptItem; import com.vincent.rsf.server.system.controller.BaseController; import com.vincent.rsf.server.system.controller.param.LoginParam; import io.swagger.annotations.Api; @@ -132,7 +134,6 @@ return mobileService.getDeltByCode(code); } - @PreAuthorize("hasAuthority('manager:waitPakin:update')") @ApiOperation("缁勬嫋") @PostMapping("/waitPakin/merge") @@ -163,7 +164,44 @@ return R.error("璺熻釜鐮佷笉鑳戒负绌猴紒锛�"); } return R.ok(mobileService.unBind(param)); - } + @ApiOperation("鎶ユ") + @GetMapping("/asnOrder/inspect/{code}") + @PreAuthorize("hasAuthority('manager:waitPakin:list')") + public R getAsnOdrers(@PathVariable String code) { + if (Objects.isNull(code)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return mobileService.inspect(code, getLoginUserId()); + } + + @ApiOperation("鎻愪氦鎶ユ") + @GetMapping("/inspect/confirm/{id}") + @PreAuthorize("hasAuthority('manager:waitPakin:list')") + public R confirmInspect(@PathVariable String id) { + if (Objects.isNull(id)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛�"); + } + return mobileService.confirmIspt(id); + } + + @PreAuthorize("hasAuthority('manager:qlyInspect:list')") + @PostMapping("/inspect/query") + public R checkObjs(@RequestBody CheckObjParams params) { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return mobileService.checkObjs(params); + } + + + @PreAuthorize("hasAuthority('manager:qlyInspect:update')") + @PostMapping("/inspect/check/update") + public R checkUpdate(@RequestBody QlyIsptItem params) { + if (Objects.isNull(params)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return mobileService.checkUpdate(params); + } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java new file mode 100644 index 0000000..7476746 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java @@ -0,0 +1,23 @@ +package com.vincent.rsf.server.api.controller.params; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "CheckObjParams", description = "鑾峰彇璐ㄦ淇℃伅") +public class CheckObjParams implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("璐ㄦ鍗�") + private String isptCode; + + @ApiModelProperty("鐗╂枡缂栫爜") + private String matnrCode; +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java new file mode 100644 index 0000000..ead8f00 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java @@ -0,0 +1,39 @@ +package com.vincent.rsf.server.api.entity.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +@Data +@Accessors(chain = true) +@ApiModel(value = "CheckObjDto", description = "PDA璐ㄦ淇℃伅") +public class CheckObjDto implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("璐ㄦ鍗�") + private String isptCode; + @ApiModelProperty("鐗╂枡缂栫爜") + private String matnrCode; + @ApiModelProperty("鐗╂枡鍚嶇О") + private String maktx; + @ApiModelProperty("鍗曞彿") + private String asnCode; + @ApiModelProperty("渚涘簲鍟嗗悕绉�") + private String splrName; + @ApiModelProperty("渚涘簲鍟嗘壒娆�") + private String splrBatch; + @ApiModelProperty("鏀惰揣鏁伴噺") + private Double rcptQty; + @ApiModelProperty("鍚堟牸鏁伴噺") + private Double safeQty; + @ApiModelProperty("涓嶅悎鏍兼暟閲�") + private Double disQty; + @ApiModelProperty("鍥剧墖璺緞") + private String picPath; + @ApiModelProperty("澶囨敞") + private String memo; +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectDetlDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectDetlDto.java new file mode 100644 index 0000000..bd1f5ad --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectDetlDto.java @@ -0,0 +1,28 @@ +package com.vincent.rsf.server.api.entity.dto; + +import com.vincent.rsf.server.manager.entity.IsptHistories; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +@ApiModel(value = "InspectDetlDto", description = "涓婃姤鏄庣粏") +public class InspectDetlDto { + @ApiModelProperty("鍗曞彿") + private String code; + @ApiModelProperty("鍗曞彿ID") + private Long id; + @ApiModelProperty("PO鍗曞彿") + private String poCode; + @ApiModelProperty("鏄庣粏") + private List<InspectItemDto> items; + @ApiModelProperty("涓婃姤鍘嗗彶") + private List<IsptHistories> histories; +} + + + diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectItemDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectItemDto.java new file mode 100644 index 0000000..f164f33 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InspectItemDto.java @@ -0,0 +1,31 @@ +package com.vincent.rsf.server.api.entity.dto; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@ApiModel(value = "InspectItemDto", description = "PDA鎶ユ鏄庣粏") +public class InspectItemDto { + + @ApiModelProperty("鐗╂枡鍚嶇О") + private String maktx; + @ApiModelProperty("鍒嗙粍缂栫爜") + private String groupCode; + @ApiModelProperty("鍒嗙粍鍚嶇О") + private String group; + @ApiModelProperty("鐗╂枡缂栫爜") + private String matnrCode; + @ApiModelProperty("閲囪喘鍗曚綅") + private String purUnit; + @ApiModelProperty("閲囪喘鏁伴噺") + private Double purQty; + @ApiModelProperty("渚涘簲鍟嗗悕绉�") + private String suplierName; + @ApiModelProperty("渚涘簲鍟嗙紪鐮�") + private String suplierCode; +} 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 e5a383f..dbd980b 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 @@ -46,6 +46,9 @@ @ApiModelProperty("鏈�澶у簱瀛�") private Double maxQty; + @ApiModelProperty("宸叉敹璐ф暟閲�") + private Double qty; + @ApiModelProperty("骞冲彴琛屽彿") private String platformId; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java index 6475f1c..173025d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java @@ -1,10 +1,12 @@ package com.vincent.rsf.server.api.service; import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.server.api.controller.params.CheckObjParams; import com.vincent.rsf.server.api.controller.params.OtherReceiptParams; import com.vincent.rsf.server.api.controller.params.ReceiptParams; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.AsnOrder; +import com.vincent.rsf.server.manager.entity.QlyIsptItem; import com.vincent.rsf.server.manager.entity.WaitPakin; import com.vincent.rsf.server.system.controller.param.LoginParam; import com.vincent.rsf.server.system.entity.Fields; @@ -40,4 +42,12 @@ WaitPakin mergeItems(WaitPakinParam waitPakin); WaitPakin unBind(WaitPakinParam param); + + R inspect(String code, Long loginUserId); + + R confirmIspt(String id); + + R checkObjs(CheckObjParams params); + + R checkUpdate(QlyIsptItem params); } 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 a43f68a..e53bd94 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 @@ -4,8 +4,12 @@ import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.api.controller.params.CheckObjParams; import com.vincent.rsf.server.api.controller.params.OtherReceiptParams; import com.vincent.rsf.server.api.controller.params.ReceiptParams; +import com.vincent.rsf.server.api.entity.dto.CheckObjDto; +import com.vincent.rsf.server.api.entity.dto.InspectDetlDto; +import com.vincent.rsf.server.api.entity.dto.InspectItemDto; import com.vincent.rsf.server.api.entity.dto.ReceiptDetlsDto; import com.vincent.rsf.server.api.entity.enums.OrderWorkType; import com.vincent.rsf.server.api.service.MobileService; @@ -14,6 +18,7 @@ import com.vincent.rsf.server.common.security.JwtSubject; import com.vincent.rsf.server.common.utils.CommonUtil; import com.vincent.rsf.server.common.utils.JwtUtil; +import com.vincent.rsf.server.manager.controller.params.IsptItemsParams; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.mapper.*; @@ -70,18 +75,22 @@ private WarehouseAreasService warehouseAreasService; @Resource private AsnOrderItemMapper asnOrderItemMapper; - @Resource - private AsnOrderMapper asnOrderMapper; + @Autowired + private AsnOrderService asnOrderMapper; @Resource private MatnrMapper matnrMapper; @Resource private QlyInspectMapper qlyInspectMapper; + @Autowired + private QlyIsptItemService qlyIsptItemService; @Resource private StockItemMapper stockItemMapper; @Resource private PurchaseItemMapper purchaseItemMapper; @Resource private FieldsMapper fieldsMapper; + @Autowired + private IsptHistoriesMapper isptHistoriesMapper; @Autowired private AsnOrderLogService asnOrderLogService; @@ -188,14 +197,14 @@ String asnCode = receipts.stream().findFirst().get().getAsnCode(); - AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>() + AsnOrder asnOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>() .eq(AsnOrder::getCode, asnCode)); if (Objects.isNull(asnOrder)) { throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒"); } asnOrder.setQty(receiptQty); - if (asnOrderMapper.updateById(asnOrder) < 1) { + if (!asnOrderMapper.updateById(asnOrder)) { throw new CoolException("宸叉敹璐ф暟閲忎慨鏀瑰け璐ワ紒锛�"); } @@ -308,7 +317,7 @@ * @time 2025/3/19 19:53 */ private void operateOrderLogs(AsnOrder asnOrder) { - if (asnOrderMapper.deleteById(asnOrder.getId()) < 1) { + if (!asnOrderMapper.removeById(asnOrder.getId())) { throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�"); } @@ -370,7 +379,7 @@ */ @Override public List<AsnOrder> getAllAsnOrders() { - List<AsnOrder> asnOrders = asnOrderMapper.selectList(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type)); + List<AsnOrder> asnOrders = asnOrderMapper.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_PURCHASE_IN.type)); return asnOrders; } @@ -421,6 +430,132 @@ } /** + * 鎶ユ鍔熻兘 + * @param code + * @param loginUserId + * @return + */ + @Override + public R inspect(String code, Long loginUserId) { + AsnOrder asnOrders = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, code)); + if (Objects.isNull(asnOrders)) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); + } + InspectDetlDto detlDto = new InspectDetlDto(); + detlDto.setCode(asnOrders.getCode()).setId(asnOrders.getId()).setPoCode(asnOrders.getPoCode()); + List<AsnOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnCode, code)); + if (orderItems.isEmpty()) { + detlDto.setItems(new ArrayList<>()); + } else { + List<InspectItemDto> itemDtos = new ArrayList<>(); + orderItems.forEach(dto -> { + InspectItemDto itemDto = new InspectItemDto(); + if (!Objects.isNull(dto.getMatnrCode())) { + Matnr matnr = matnrMapper.selectOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, dto.getMatnrCode())); + itemDto.setGroup(matnr.getGroupCode()); + } + itemDto.setMaktx(dto.getMaktx()) + .setMatnrCode(dto.getMatnrCode()) + .setPurUnit(dto.getPurUnit()) + .setSuplierCode(dto.getSplrCode()) + .setSuplierName(dto.getSplrName()) + .setPurQty(dto.getPurQty()); + itemDtos.add(itemDto); + }); + detlDto.setItems(itemDtos); + } + + List<IsptHistories> histories = isptHistoriesMapper.selectList(new LambdaQueryWrapper<IsptHistories>().eq(IsptHistories::getAsnId, asnOrders.getId())); + detlDto.setHistories(histories); + return R.ok(detlDto); + } + + /** + * @author Ryan + * @description 鎻愪氦鎶ユ + * @param + * @return + * @time 2025/4/1 16:47 + */ + @Override + public R confirmIspt(String id) { + if (org.apache.commons.lang3.StringUtils.isBlank(id)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + AsnOrder asnOrder = asnOrderMapper.getById(id); + if (Objects.isNull(asnOrder)) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); + } + List<AsnOrder> orders = new ArrayList<>(); + orders.add(asnOrder); + if (asnOrderMapper.notifyInspect(orders)) { + return R.ok("涓婃姤鎴愬姛锛侊紒"); + }else { + return R.error("涓婃姤澶辫触锛侊紒"); + } + } + + /** + * 閫氳繃鐗╂枡锛岃川妫�鍗曡幏鍙栭渶瑕佽川妫�鍗曟嵁 + * @param params + * @return + */ + @Override + public R checkObjs(CheckObjParams params) { + if (Objects.isNull(params.getIsptCode())) { + throw new CoolException("璐ㄦ鍗曚笉鑳戒负绌�"); + } + if (Objects.isNull(params.getMatnrCode())) { + throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛�"); + } + QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>().eq(QlyInspect::getCode, params.getIsptCode())); + if (Objects.isNull(inspect)) { + throw new CoolException("璐ㄦ鍗曟嵁涓嶅瓨鍦紒!"); + } + QlyIsptItem isptItem = qlyIsptItemService.getOne(new LambdaQueryWrapper<QlyIsptItem>() + .eq(QlyIsptItem::getMatnrCode, params.getMatnrCode()) + .eq(QlyIsptItem::getIspectId, inspect.getId())); + if (Objects.isNull(isptItem)) { + throw new CoolException("璐ㄦ鍗曟槑缁嗕笉瀛樺湪锛侊紒"); + } + + CheckObjDto objDto = new CheckObjDto(); + objDto.setIsptCode(inspect.getCode()) + .setAsnCode(inspect.getAsnCode()) + .setMatnrCode(isptItem.getMatnrCode()) + .setMaktx(isptItem.getMaktx()) + .setDisQty(isptItem.getDisQty()) + .setRcptQty(isptItem.getRcptQty()) + .setSplrBatch(isptItem.getSplrBatch()) + .setSplrName(isptItem.getSplrName()) + .setPicPath(isptItem.getPicPath()) + .setMemo(isptItem.getMemo()) + .setSafeQty(isptItem.getSafeQty()); + return R.ok(objDto); + } + + /** + * 蹇�熻川妫� + * @param params + * @return + */ + @Override + public R checkUpdate(QlyIsptItem params) { + if (Objects.isNull(params.getId()) || Objects.isNull(params.getIspectId())) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + IsptItemsParams itemsParams = new IsptItemsParams(); + List<QlyIsptItem> items = new ArrayList<>(); + items.add(params); + itemsParams.setIsptItem(items).setType("0"); + if (qlyIsptItemService.batchUpdate(itemsParams)) { + return R.ok(); + } else { + return R.error("淇濆瓨澶辫触锛侊紒"); + } + } + + /** * 鑾峰彇ReceiptDetlsDtos */ private R getAsnOrderItem(List<AsnOrderItem> items) { @@ -431,6 +566,7 @@ detlsDto.setAsnCode(asnOrderItem.getAsnCode()) .setMaktx(asnOrderItem.getMaktx()) .setBarcode(asnOrderItem.getTrackCode()) + .setQty(asnOrderItem.getQty()) .setPoCode(asnOrderItem.getPoCode()) .setAnfme(asnOrderItem.getAnfme()) .setPurQty(asnOrderItem.getPurQty()) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java new file mode 100644 index 0000000..9f88a5c --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java @@ -0,0 +1,49 @@ +package com.vincent.rsf.server.common; + + +import com.vincent.rsf.framework.generators.ReactGenerator; +import com.vincent.rsf.framework.generators.constant.SqlOsType; + +/** + * Created by vincent on 2019-06-04 + */ +public class CodeBuilder { + + public static void main(String[] args) throws Exception { + ReactGenerator generator = new ReactGenerator(); + generator.backendPrefixPath = "rsf-server/"; + generator.frontendPrefixPath = "rsf-admin/"; + + generator.sqlOsType = SqlOsType.MYSQL; + generator.url="192.168.4.24:3306/rsf"; + generator.username="root"; + generator.password="34821015"; +// generator.url="47.97.1.152:51433;databasename=jkasrs"; +// generator.username="sa"; +// generator.password="Zoneyung@zy56$"; + + generator.table="man_ispt_histories"; + generator.tableDesc="浠诲姟宸ヤ綔妗�"; + generator.packagePath="com.vincent.rsf.server.manager"; + + generator.build(); + } +/* + CREATE TABLE `man_tablename` ( + `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID', + `code` VARCHAR(255) DEFAULT NULL COMMENT '缂栧彿', + `name` VARCHAR(255) DEFAULT NULL COMMENT '鍚嶇О(*)', + `status` INT(1) NOT NULL DEFAULT '1' COMMENT '鐘舵�亄1:姝e父,0:鍐荤粨}', + `deleted` INT(1) NOT NULL DEFAULT '0' COMMENT '鏄惁鍒犻櫎{1:鏄�,0:鍚', + `tenant_id` INT(11) DEFAULT NULL COMMENT '绉熸埛[sys_tenant]', + `create_by` BIGINT(20) DEFAULT NULL COMMENT '娣诲姞浜哄憳[sys_user]', + `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '娣诲姞鏃堕棿', + `update_by` BIGINT(20) DEFAULT NULL COMMENT '淇敼浜哄憳[sys_user]', + `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿', + `memo` VARCHAR(255) DEFAULT NULL COMMENT '澶囨敞', + PRIMARY KEY (`id`) + ) ENGINE=INNODB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; + */ + +} + diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/IsptHistoriesController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/IsptHistoriesController.java new file mode 100644 index 0000000..d8ca91c --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/IsptHistoriesController.java @@ -0,0 +1,110 @@ +package com.vincent.rsf.server.manager.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.vincent.rsf.framework.common.Cools; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.server.common.utils.ExcelUtil; +import com.vincent.rsf.server.common.annotation.OperationLog; +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.IsptHistories; +import com.vincent.rsf.server.manager.service.IsptHistoriesService; +import com.vincent.rsf.server.system.controller.BaseController; +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.*; + +@RestController +public class IsptHistoriesController extends BaseController { + + @Autowired + private IsptHistoriesService isptHistoriesService; + + @PreAuthorize("hasAuthority('manager:isptHistories:list')") + @PostMapping("/isptHistories/page") + public R page(@RequestBody Map<String, Object> map) { + BaseParam baseParam = buildParam(map, BaseParam.class); + PageParam<IsptHistories, BaseParam> pageParam = new PageParam<>(baseParam, IsptHistories.class); + return R.ok().add(isptHistoriesService.page(pageParam, pageParam.buildWrapper(true))); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:list')") + @PostMapping("/isptHistories/list") + public R list(@RequestBody Map<String, Object> map) { + return R.ok().add(isptHistoriesService.list()); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:list')") + @PostMapping({"/isptHistories/many/{ids}", "/isptHistoriess/many/{ids}"}) + public R many(@PathVariable Long[] ids) { + return R.ok().add(isptHistoriesService.listByIds(Arrays.asList(ids))); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:list')") + @GetMapping("/isptHistories/{id}") + public R get(@PathVariable("id") Long id) { + return R.ok().add(isptHistoriesService.getById(id)); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:save')") + @OperationLog("Create 浠诲姟宸ヤ綔妗�") + @PostMapping("/isptHistories/save") + public R save(@RequestBody IsptHistories isptHistories) { + isptHistories.setCreateBy(getLoginUserId()); + isptHistories.setCreateTime(new Date()); + isptHistories.setUpdateBy(getLoginUserId()); + isptHistories.setUpdateTime(new Date()); + if (!isptHistoriesService.save(isptHistories)) { + return R.error("Save Fail"); + } + return R.ok("Save Success").add(isptHistories); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:update')") + @OperationLog("Update 浠诲姟宸ヤ綔妗�") + @PostMapping("/isptHistories/update") + public R update(@RequestBody IsptHistories isptHistories) { + isptHistories.setUpdateBy(getLoginUserId()); + isptHistories.setUpdateTime(new Date()); + if (!isptHistoriesService.updateById(isptHistories)) { + return R.error("Update Fail"); + } + return R.ok("Update Success").add(isptHistories); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:remove')") + @OperationLog("Delete 浠诲姟宸ヤ綔妗�") + @PostMapping("/isptHistories/remove/{ids}") + public R remove(@PathVariable Long[] ids) { + if (!isptHistoriesService.removeByIds(Arrays.asList(ids))) { + return R.error("Delete Fail"); + } + return R.ok("Delete Success").add(ids); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:list')") + @PostMapping("/isptHistories/query") + public R query(@RequestParam(required = false) String condition) { + List<KeyValVo> vos = new ArrayList<>(); + LambdaQueryWrapper<IsptHistories> wrapper = new LambdaQueryWrapper<>(); + if (!Cools.isEmpty(condition)) { + wrapper.like(IsptHistories::getName, condition); + } + isptHistoriesService.page(new Page<>(1, 30), wrapper).getRecords().forEach( + item -> vos.add(new KeyValVo(item.getId(), item.getName())) + ); + return R.ok().add(vos); + } + + @PreAuthorize("hasAuthority('manager:isptHistories:list')") + @PostMapping("/isptHistories/export") + public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { + ExcelUtil.build(ExcelUtil.create(isptHistoriesService.list(), IsptHistories.class), response); + } + +} 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 bf03f2b..57d0e20 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 @@ -126,6 +126,13 @@ @OperationLog("Delete 璐ㄦ淇℃伅") @PostMapping("/qlyInspect/remove/{ids}") public R remove(@PathVariable Long[] ids) { + if (Objects.isNull(ids) || ids.length < 1) { + return R.error("鑳芥暟涓嶈兘涓虹┖锛侊紒"); + } + List<QlyInspect> qlyInspects = qlyInspectService.list(new LambdaQueryWrapper<QlyInspect>().in(QlyInspect::getId, ids)); + if (!qlyInspects.isEmpty()) { + return R.error("鏈夋槑缁嗗垪琛ㄥ瓨鍦紒锛�"); + } if (!qlyInspectService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java index 0c8d681..bcc3337 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java @@ -114,7 +114,7 @@ } @PreAuthorize("hasAuthority('manager:qlyIsptItem:update')") - @ApiOperation("鎵归噺淇敼") + @ApiOperation("蹇�熻川妫�") @PostMapping("/qlyIsptItem/batch/update") public R batchUpdate(@RequestBody IsptItemsParams params) { if (Objects.isNull(params)) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java index a9fae5a..2805e07 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java @@ -91,11 +91,12 @@ if (Objects.isNull(ids) || ids.length < 1) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } + List<TaskItem> list = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, ids)); + if (!list.isEmpty()) { + return R.error("鏈夋槑缁嗗垪琛ㄥ瓨鍦� 锛侊紒"); + } if (!taskService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); - } - if (!taskItemService.remove(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, ids))) { - return R.error("鍒犻櫎澶辫触锛侊紒"); } return R.ok("Delete Success").add(ids); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java index 9bc3c5d..0c29bfe 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java @@ -12,7 +12,9 @@ import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.WaitPakin; +import com.vincent.rsf.server.manager.entity.WaitPakinItem; import com.vincent.rsf.server.manager.service.TaskService; +import com.vincent.rsf.server.manager.service.WaitPakinItemService; import com.vincent.rsf.server.manager.service.WaitPakinService; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; @@ -31,6 +33,9 @@ @Autowired private WaitPakinService waitPakinService; + + @Autowired + private WaitPakinItemService waitPakinItemService; @Autowired private TaskService taskService; @@ -96,6 +101,11 @@ @OperationLog("Delete 缁勬嫋妗�") @PostMapping("/waitPakin/remove/{ids}") public R remove(@PathVariable Long[] ids) { + List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>() + .in(WaitPakinItem::getPakinId, ids)); + if (!pakinItems.isEmpty()) { + return R.error("缁勬嫋妗f湁鏄庣粏浠诲姟"); + } if (!waitPakinService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); } @@ -130,7 +140,7 @@ if (Objects.isNull(waitPakin) || waitPakin.isEmpty()) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - return taskService.generateTasks(waitPakin); + return taskService.generateTasks(waitPakin, getLoginUserId()); } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/IsptHistories.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/IsptHistories.java new file mode 100644 index 0000000..950d111 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/IsptHistories.java @@ -0,0 +1,202 @@ +package com.vincent.rsf.server.manager.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; +import java.text.SimpleDateFormat; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.vincent.rsf.framework.common.Cools; +import com.vincent.rsf.framework.common.SpringUtils; +import com.vincent.rsf.server.system.service.UserService; +import com.vincent.rsf.server.system.entity.User; +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("man_ispt_histories") +public class IsptHistories implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 鍗曞彿 + */ + @ApiModelProperty(value= "鍗曞彿") + private String code; + + /** + * 涓婃姤浜哄憳 + */ + @ApiModelProperty(value= "涓婃姤浜哄憳") + private String operator; + + /** + * 鍗曟嵁ID + */ + @ApiModelProperty(value= "鍗曟嵁ID") + private Long asnId; + + /** + * 鍚嶇О + */ + @ApiModelProperty(value= "鍚嶇О") + private String name; + + /** + * 鐘舵�� 1: 姝e父 0: 鍐荤粨 + */ + @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 鍐荤粨 ") + private Integer status; + + /** + * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic + private Integer deleted; + + /** + * 绉熸埛 + */ + @ApiModelProperty(value= "绉熸埛") + private Integer tenantId; + + /** + * 娣诲姞浜哄憳 + */ + @ApiModelProperty(value= "娣诲姞浜哄憳") + private Long createBy; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + private Long updateBy; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public IsptHistories() {} + + public IsptHistories(String code,String operator,Long asnId,String name,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { + this.code = code; + this.operator = operator; + this.asnId = asnId; + this.name = name; + this.status = status; + this.deleted = deleted; + this.tenantId = tenantId; + this.createBy = createBy; + this.createTime = createTime; + this.updateBy = updateBy; + this.updateTime = updateTime; + this.memo = memo; + } + +// IsptHistories isptHistories = new IsptHistories( +// null, // 鍗曞彿 +// null, // 涓婃姤浜哄憳 +// null, // 鍗曟嵁ID +// null, // 鍚嶇О +// null, // 鐘舵�乕闈炵┖] +// null, // 鏄惁鍒犻櫎[闈炵┖] +// null, // 绉熸埛 +// null, // 娣诲姞浜哄憳 +// null, // 娣诲姞鏃堕棿[闈炵┖] +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿[闈炵┖] +// null // 澶囨敞 +// ); + + public String getStatus$(){ + if (null == this.status){ return null; } + switch (this.status){ + case 1: + return "姝e父"; + case 0: + return "鍐荤粨"; + default: + return String.valueOf(this.status); + } + } + + public String getCreateBy$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.getById(this.createBy); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public String getUpdateBy$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.getById(this.updateBy); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + + + + public Boolean getStatusBool(){ + if (null == this.status){ return null; } + switch (this.status){ + case 1: + return true; + case 0: + return false; + default: + return null; + } + } + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java index 87aeffc..5e36040 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/TaskItem.java @@ -55,9 +55,8 @@ @ApiModelProperty(value= "鐗╂枡鍚嶇О") private String maktx; - @ApiModelProperty("婧愮紪鐮�") - private String sourceCode; + private Long source; @ApiModelProperty("鍗曟嵁ID") private Long orderId; @@ -119,7 +118,6 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") - @TableLogic private Integer deleted; /** diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/IsptHistoriesMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/IsptHistoriesMapper.java new file mode 100644 index 0000000..4309713 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/IsptHistoriesMapper.java @@ -0,0 +1,12 @@ +package com.vincent.rsf.server.manager.mapper; + +import com.vincent.rsf.server.manager.entity.IsptHistories; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface IsptHistoriesMapper extends BaseMapper<IsptHistories> { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/IsptHistoriesService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/IsptHistoriesService.java new file mode 100644 index 0000000..1c58150 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/IsptHistoriesService.java @@ -0,0 +1,8 @@ +package com.vincent.rsf.server.manager.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.vincent.rsf.server.manager.entity.IsptHistories; + +public interface IsptHistoriesService extends IService<IsptHistories> { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java index c48d0e6..8051c06 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java @@ -9,5 +9,5 @@ public interface TaskService extends IService<Task> { - R generateTasks(List<WaitPakin> waitPakin); + R generateTasks(List<WaitPakin> waitPakin, Long loginUserId); } 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 d5f0293..b385eed 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 @@ -59,6 +59,9 @@ throw new CoolException("ASN鍗曟嵁涓嶈兘涓虹┖锛侊紒"); } List<PoItemsDto> items = purchaseMapper.poList(asnIds); + if (items.isEmpty()) { + throw new CoolException("鐗╂枡鎵�灞為噰璐崟鎹笉瀛樺湪锛侊紒"); + } if (reportMsgService.reportInspectNotify(items)) { return true; } else { @@ -74,7 +77,6 @@ List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>() .like(!Objects.isNull(params.get("maktx")), AsnOrderItem::getMaktx, params.get("maktx")) .eq(!Objects.isNull(params.get("matnrCode")), AsnOrderItem::getMatnrCode, params.get("matnrCode"))); - if (orderItems.isEmpty()) { return new ArrayList<>(); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/IsptHistoriesServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/IsptHistoriesServiceImpl.java new file mode 100644 index 0000000..f16c760 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/IsptHistoriesServiceImpl.java @@ -0,0 +1,12 @@ +package com.vincent.rsf.server.manager.service.impl; + +import com.vincent.rsf.server.manager.mapper.IsptHistoriesMapper; +import com.vincent.rsf.server.manager.entity.IsptHistories; +import com.vincent.rsf.server.manager.service.IsptHistoriesService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("isptHistoriesService") +public class IsptHistoriesServiceImpl extends ServiceImpl<IsptHistoriesMapper, IsptHistories> implements IsptHistoriesService { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java index 1d9dab4..cd40c71 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java @@ -1,7 +1,6 @@ package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.api.entity.enums.OrderType; import com.vincent.rsf.server.api.entity.enums.TaskStsType; import com.vincent.rsf.framework.common.R; @@ -13,7 +12,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.manager.utils.LocManageUtil; import com.vincent.rsf.server.system.constant.SerialRuleCode; -import com.vincent.rsf.server.system.enums.LocStsType; import com.vincent.rsf.server.system.utils.SerialRuleUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -30,22 +28,23 @@ @Autowired private WaitPakinService waitPakinService; - @Autowired private TaskItemService taskItemService; - @Autowired private WaitPakinItemService waitPakinItemService; + + /** + * @param + * @param loginUserId + * @return * @author Ryan * @description 鐢熸垚浠诲姟鍒楄〃 - * @param - * @return * @time 2025/3/29 15:59 */ @Override - public R generateTasks(List<WaitPakin> waitPakin) { + public R generateTasks(List<WaitPakin> waitPakin, Long loginUserId) { if (Objects.isNull(waitPakin) || waitPakin.isEmpty()) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } @@ -67,6 +66,8 @@ .setTaskType(TaskType.TASK_TYPE_IN.type.shortValue()) .setTargLoc(LocManageUtil.getTargetLoc()) .setBarcode(pakin.getBarcode()) + .setCreateBy(loginUserId) + .setUpdateBy(loginUserId) .setTargSite(LocManageUtil.getTargetSite()); if (!this.save(task)) { @@ -82,7 +83,9 @@ BeanUtils.copyProperties(item, taskItem); taskItem.setTaskId(task.getId()) .setOrderType(OrderType.ORDER_RECEIPT.type) - .setSourceCode(item.getAsnCode()) + .setSource(item.getId()) + .setCreateBy(loginUserId) + .setUpdateBy(loginUserId) .setOrderId(item.getAsnId()) .setOrderItemId(item.getAsnItemId()); taskItems.add(taskItem); @@ -90,6 +93,9 @@ if (!taskItemService.saveBatch(taskItems)) { throw new CoolException("浠诲姟鏄庣粏淇濆瓨澶辫触锛侊紒"); } + + + }); //TODO 浠诲姟鐢熸垚瀹屾垚闇�淇敼浠诲姟ASN璁㈠崟鐘舵�佷负鎵ц涓紝缁勬嫋鍒犻櫎闇�鍒ゆ柇鏄惁鏈夊瓙浠诲姟鍦ㄦ墽琛� diff --git a/rsf-server/src/main/resources/mapper/test/LocAreaMatMapper.xml b/rsf-server/src/main/resources/mapper/manager/IsptHistoriesMapper.xml similarity index 66% rename from rsf-server/src/main/resources/mapper/test/LocAreaMatMapper.xml rename to rsf-server/src/main/resources/mapper/manager/IsptHistoriesMapper.xml index 086c947..04366fd 100644 --- a/rsf-server/src/main/resources/mapper/test/LocAreaMatMapper.xml +++ b/rsf-server/src/main/resources/mapper/manager/IsptHistoriesMapper.xml @@ -1,5 +1,5 @@ <?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.vincent.rsf.server.test.mapper.LocAreaMatMapper"> +<mapper namespace="com.vincent.rsf.server.manager.mapper.IsptHistoriesMapper"> </mapper> diff --git a/rsf-server/src/main/resources/mapper/test/LocAreaMatRelaMapper.xml b/rsf-server/src/main/resources/mapper/test/LocAreaMatRelaMapper.xml deleted file mode 100644 index 577aba2..0000000 --- a/rsf-server/src/main/resources/mapper/test/LocAreaMatRelaMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?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.vincent.rsf.server.test.mapper.LocAreaMatRelaMapper"> - -</mapper> diff --git a/rsf-server/src/main/resources/mapper/test/LocMapper.xml b/rsf-server/src/main/resources/mapper/test/LocMapper.xml deleted file mode 100644 index 638ae43..0000000 --- a/rsf-server/src/main/resources/mapper/test/LocMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?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.vincent.rsf.server.test.mapper.LocMapper"> - -</mapper> diff --git a/rsf-server/src/main/resources/mapper/test/QlyInspectMapper.xml b/rsf-server/src/main/resources/mapper/test/QlyInspectMapper.xml deleted file mode 100644 index c40f619..0000000 --- a/rsf-server/src/main/resources/mapper/test/QlyInspectMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?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.vincent.rsf.server.test.mapper.QlyInspectMapper"> - -</mapper> -- Gitblit v1.9.1