From cbe83089c3d3044a13bc38c7c4d94207fd22a741 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 19 三月 2025 19:56:51 +0800 Subject: [PATCH] #新增 1. ASN历史档逻辑处理 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemLogServiceImpl.java | 12 rsf-server/src/main/resources/mapper/manager/AsnOrderLogMapper.xml | 5 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 3 rsf-server/src/main/resources/mapper/manager/AsnOrderItemLogMapper.xml | 5 rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemLogMapper.java | 12 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemLogService.java | 8 rsf-server/src/main/java/asnOrderLog.sql | 32 + rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 63 +++ rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderLogService.java | 8 rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderLogMapper.java | 12 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Loc.java | 7 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java | 29 + rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderLogController.java | 110 +++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java | 294 ++++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java | 358 +++++++++++++++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java | 36 + rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java | 12 rsf-server/src/main/java/asnOrderItemLog.sql | 43 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemLogController.java | 110 +++++ rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java | 14 22 files changed, 1,164 insertions(+), 15 deletions(-) diff --git a/rsf-server/src/main/java/asnOrderItemLog.sql b/rsf-server/src/main/java/asnOrderItemLog.sql new file mode 100644 index 0000000..367ed6d --- /dev/null +++ b/rsf-server/src/main/java/asnOrderItemLog.sql @@ -0,0 +1,43 @@ +-- save asnOrderItemLog record +-- mysql +insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.asnOrderItemLog', '0', '/manager/asnOrderItemLog', 'asnOrderItemLog', '0' , '0', '1' , '1'); + +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query Asn order logs', '', '1', 'manager:asnOrderItemLog:list', '0', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create Asn order logs', '', '1', 'manager:asnOrderItemLog:save', '1', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update Asn order logs', '', '1', 'manager:asnOrderItemLog:update', '2', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete Asn order logs', '', '1', 'manager:asnOrderItemLog:remove', '3', '1', '1'); + +-- locale menu name +asnOrderItemLog: 'AsnOrderItemLog', + +-- locale field +asnOrderItemLog: { + asnId: "asnId", + asnCode: "asnCode", + platItemId: "platItemId", + poDetlId: "poDetlId", + poCode: "poCode", + fieldsIndex: "fieldsIndex", + matnrId: "matnrId", + matnrCode: "matnrCode", + maktx: "maktx", + anfme: "anfme", + stockUnit: "stockUnit", + purQty: "purQty", + purUnit: "purUnit", + qty: "qty", + splrCode: "splrCode", + splrBatch: "splrBatch", + splrName: "splrName", + qrcode: "qrcode", + trackCode: "trackCode", + barcode: "barcode", + packName: "packName", + ntyStatus: "ntyStatus", +}, + +-- ResourceContent +import asnOrderItemLog from './asnOrderItemLog'; + +case 'asnOrderItemLog': + return asnOrderItemLog; diff --git a/rsf-server/src/main/java/asnOrderLog.sql b/rsf-server/src/main/java/asnOrderLog.sql new file mode 100644 index 0000000..8ba0442 --- /dev/null +++ b/rsf-server/src/main/java/asnOrderLog.sql @@ -0,0 +1,32 @@ +-- save asnOrderLog record +-- mysql +insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.asnOrderLog', '0', '/manager/asnOrderLog', 'asnOrderLog', '0' , '0', '1' , '1'); + +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query Asn order logs', '', '1', 'manager:asnOrderLog:list', '0', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create Asn order logs', '', '1', 'manager:asnOrderLog:save', '1', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update Asn order logs', '', '1', 'manager:asnOrderLog:update', '2', '1', '1'); +insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete Asn order logs', '', '1', 'manager:asnOrderLog:remove', '3', '1', '1'); + +-- locale menu name +asnOrderLog: 'AsnOrderLog', + +-- locale field +asnOrderLog: { + code: "code", + poCode: "poCode", + poId: "poId", + type: "type", + wkType: "wkType", + anfme: "anfme", + qty: "qty", + logisNo: "logisNo", + arrTime: "arrTime", + rleStatus: "rleStatus", + ntyStatus: "ntyStatus", +}, + +-- ResourceContent +import asnOrderLog from './asnOrderLog'; + +case 'asnOrderLog': + return asnOrderLog; 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 494d4d6..a00a0ec 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 @@ -17,6 +17,8 @@ import com.vincent.rsf.server.common.utils.JwtUtil; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.mapper.*; +import com.vincent.rsf.server.manager.service.AsnOrderItemLogService; +import com.vincent.rsf.server.manager.service.AsnOrderLogService; import com.vincent.rsf.server.manager.service.WarehouseAreasItemService; import com.vincent.rsf.server.manager.service.WarehouseAreasService; import com.vincent.rsf.server.system.constant.CodeRes; @@ -32,13 +34,16 @@ import com.vincent.rsf.server.system.service.UserLoginService; import com.vincent.rsf.server.system.utils.SerialRuleUtils; import org.apache.tika.utils.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.*; /** @@ -79,6 +84,12 @@ private PurchaseItemMapper purchaseItemMapper; @Resource private FieldsMapper fieldsMapper; + + @Autowired + private AsnOrderLogService asnOrderLogService; + + @Autowired + private AsnOrderItemLogService asnOrderItemLogService; @Autowired private FieldsItemService fieldsItemService; @@ -172,6 +183,9 @@ String asnCode = receipts.stream().findFirst().get().getAsnCode(); AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode)); + if (Objects.isNull(asnOrder)) { + throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒"); + } asnOrder.setQty(receiptQty); if (asnOrderMapper.updateById(asnOrder) < 1) { @@ -248,18 +262,65 @@ } } allOrders.add(item); - }); if (!warehouseAreasItemService.saveBatch(allOrders)) { throw new CoolException("鏀惰揣澶辫触锛侊紒"); } + //鑾峰彇閲囪喘鏁伴噺 + double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum(); + + BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty)); + //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲� + if (subtract.compareTo(new BigDecimal("0.0")) <= 0) { + asnOrder.setRleStatus(Short.valueOf("1")); + //鏃ュ織琛ㄦ搷浣� + operateOrderLogs(asnOrder); + } + return R.ok("鎿嶄綔鎴愬姛"); } /** * @author Ryan + * @description 鍒犻櫎鍘熶富鍗曞強鏄庣粏锛屽姞鍏ュ巻鍙叉。 + * @param + * @return + * @time 2025/3/19 19:53 + */ + private void operateOrderLogs(AsnOrder asnOrder) { + if (asnOrderMapper.deleteById(asnOrder.getId()) < 1) { + throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�"); + } + + AsnOrderLog orderLog = new AsnOrderLog(); + BeanUtils.copyProperties(asnOrder, orderLog); + + if (!asnOrderLogService.save(orderLog)) { + throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�"); + } + + List<AsnOrderItemLog> logs = new ArrayList<>(); + List<AsnOrderItem> items = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId())); + items.forEach(item -> { + AsnOrderItemLog itemLog = new AsnOrderItemLog(); + BeanUtils.copyProperties(item, itemLog); + logs.add(itemLog); + }); + + if (!asnOrderItemLogService.saveBatch(logs)) { + throw new CoolException("閫氱煡鍗曟槑缁嗗巻鍙叉。淇濆瓨澶辫触锛侊紒"); + } + + if (asnOrderItemMapper.delete(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId())) < 1) { + throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�"); + } + } + + + /** + * @author Ryan * @description 鍏跺畠鏀惰揣 * @param params * @return 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 index 724a30e..d04b9b5 100644 --- 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 @@ -22,8 +22,8 @@ // generator.username="sa"; // generator.password="Zoneyung@zy56$"; - generator.table="man_loc_type_rela"; - generator.tableDesc="loc type rela"; + generator.table="man_asn_order_item_log"; + generator.tableDesc="Asn order logs"; generator.packagePath="com.vincent.rsf.server.manager"; generator.build(); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemLogController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemLogController.java new file mode 100644 index 0000000..2b4f7cd --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderItemLogController.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.AsnOrderItemLog; +import com.vincent.rsf.server.manager.service.AsnOrderItemLogService; +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 AsnOrderItemLogController extends BaseController { + + @Autowired + private AsnOrderItemLogService asnOrderItemLogService; + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:list')") + @PostMapping("/asnOrderItemLog/page") + public R page(@RequestBody Map<String, Object> map) { + BaseParam baseParam = buildParam(map, BaseParam.class); + PageParam<AsnOrderItemLog, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderItemLog.class); + return R.ok().add(asnOrderItemLogService.page(pageParam, pageParam.buildWrapper(true))); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:list')") + @PostMapping("/asnOrderItemLog/list") + public R list(@RequestBody Map<String, Object> map) { + return R.ok().add(asnOrderItemLogService.list()); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:list')") + @PostMapping({"/asnOrderItemLog/many/{ids}", "/asnOrderItemLogs/many/{ids}"}) + public R many(@PathVariable Long[] ids) { + return R.ok().add(asnOrderItemLogService.listByIds(Arrays.asList(ids))); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:list')") + @GetMapping("/asnOrderItemLog/{id}") + public R get(@PathVariable("id") Long id) { + return R.ok().add(asnOrderItemLogService.getById(id)); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:save')") + @OperationLog("Create Asn order logs") + @PostMapping("/asnOrderItemLog/save") + public R save(@RequestBody AsnOrderItemLog asnOrderItemLog) { + asnOrderItemLog.setCreateBy(getLoginUserId()); + asnOrderItemLog.setCreateTime(new Date()); + asnOrderItemLog.setUpdateBy(getLoginUserId()); + asnOrderItemLog.setUpdateTime(new Date()); + if (!asnOrderItemLogService.save(asnOrderItemLog)) { + return R.error("Save Fail"); + } + return R.ok("Save Success").add(asnOrderItemLog); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:update')") + @OperationLog("Update Asn order logs") + @PostMapping("/asnOrderItemLog/update") + public R update(@RequestBody AsnOrderItemLog asnOrderItemLog) { + asnOrderItemLog.setUpdateBy(getLoginUserId()); + asnOrderItemLog.setUpdateTime(new Date()); + if (!asnOrderItemLogService.updateById(asnOrderItemLog)) { + return R.error("Update Fail"); + } + return R.ok("Update Success").add(asnOrderItemLog); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:remove')") + @OperationLog("Delete Asn order logs") + @PostMapping("/asnOrderItemLog/remove/{ids}") + public R remove(@PathVariable Long[] ids) { + if (!asnOrderItemLogService.removeByIds(Arrays.asList(ids))) { + return R.error("Delete Fail"); + } + return R.ok("Delete Success").add(ids); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:list')") + @PostMapping("/asnOrderItemLog/query") + public R query(@RequestParam(required = false) String condition) { + List<KeyValVo> vos = new ArrayList<>(); + LambdaQueryWrapper<AsnOrderItemLog> wrapper = new LambdaQueryWrapper<>(); + if (!Cools.isEmpty(condition)) { + wrapper.like(AsnOrderItemLog::getId, condition); + } + asnOrderItemLogService.page(new Page<>(1, 30), wrapper).getRecords().forEach( + item -> vos.add(new KeyValVo(item.getId(), item.getId())) + ); + return R.ok().add(vos); + } + + @PreAuthorize("hasAuthority('manager:asnOrderItemLog:list')") + @PostMapping("/asnOrderItemLog/export") + public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { + ExcelUtil.build(ExcelUtil.create(asnOrderItemLogService.list(), AsnOrderItemLog.class), response); + } + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderLogController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderLogController.java new file mode 100644 index 0000000..4c75ffd --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/AsnOrderLogController.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.AsnOrderLog; +import com.vincent.rsf.server.manager.service.AsnOrderLogService; +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 AsnOrderLogController extends BaseController { + + @Autowired + private AsnOrderLogService asnOrderLogService; + + @PreAuthorize("hasAuthority('manager:asnOrderLog:list')") + @PostMapping("/asnOrderLog/page") + public R page(@RequestBody Map<String, Object> map) { + BaseParam baseParam = buildParam(map, BaseParam.class); + PageParam<AsnOrderLog, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrderLog.class); + return R.ok().add(asnOrderLogService.page(pageParam, pageParam.buildWrapper(true))); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:list')") + @PostMapping("/asnOrderLog/list") + public R list(@RequestBody Map<String, Object> map) { + return R.ok().add(asnOrderLogService.list()); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:list')") + @PostMapping({"/asnOrderLog/many/{ids}", "/asnOrderLogs/many/{ids}"}) + public R many(@PathVariable Long[] ids) { + return R.ok().add(asnOrderLogService.listByIds(Arrays.asList(ids))); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:list')") + @GetMapping("/asnOrderLog/{id}") + public R get(@PathVariable("id") Long id) { + return R.ok().add(asnOrderLogService.getById(id)); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:save')") + @OperationLog("Create Asn order logs") + @PostMapping("/asnOrderLog/save") + public R save(@RequestBody AsnOrderLog asnOrderLog) { + asnOrderLog.setCreateBy(getLoginUserId()); + asnOrderLog.setCreateTime(new Date()); + asnOrderLog.setUpdateBy(getLoginUserId()); + asnOrderLog.setUpdateTime(new Date()); + if (!asnOrderLogService.save(asnOrderLog)) { + return R.error("Save Fail"); + } + return R.ok("Save Success").add(asnOrderLog); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:update')") + @OperationLog("Update Asn order logs") + @PostMapping("/asnOrderLog/update") + public R update(@RequestBody AsnOrderLog asnOrderLog) { + asnOrderLog.setUpdateBy(getLoginUserId()); + asnOrderLog.setUpdateTime(new Date()); + if (!asnOrderLogService.updateById(asnOrderLog)) { + return R.error("Update Fail"); + } + return R.ok("Update Success").add(asnOrderLog); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:remove')") + @OperationLog("Delete Asn order logs") + @PostMapping("/asnOrderLog/remove/{ids}") + public R remove(@PathVariable Long[] ids) { + if (!asnOrderLogService.removeByIds(Arrays.asList(ids))) { + return R.error("Delete Fail"); + } + return R.ok("Delete Success").add(ids); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:list')") + @PostMapping("/asnOrderLog/query") + public R query(@RequestParam(required = false) String condition) { + List<KeyValVo> vos = new ArrayList<>(); + LambdaQueryWrapper<AsnOrderLog> wrapper = new LambdaQueryWrapper<>(); + if (!Cools.isEmpty(condition)) { + wrapper.like(AsnOrderLog::getId, condition); + } + asnOrderLogService.page(new Page<>(1, 30), wrapper).getRecords().forEach( + item -> vos.add(new KeyValVo(item.getId(), item.getId())) + ); + return R.ok().add(vos); + } + + @PreAuthorize("hasAuthority('manager:asnOrderLog:list')") + @PostMapping("/asnOrderLog/export") + public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { + ExcelUtil.build(ExcelUtil.create(asnOrderLogService.list(), AsnOrderLog.class), response); + } + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java index 8d7f157..7600aae 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java @@ -76,8 +76,7 @@ if (Objects.isNull(loc.getTypeIds())) { throw new CoolException("搴撲綅绫诲瀷涓嶈兘涓虹┖锛侊紒"); } - List<Long> lists = JSONArray.parseArray(loc.getTypeIds(), Long.class); - String join = StringUtils.join(lists, ","); + String join = StringUtils.join(loc.getTypeIds(), ","); loc.setType(join); loc.setCreateBy(getLoginUserId()); @@ -87,7 +86,7 @@ } if (!locService.saveType(loc)) { - throw new CoolException("搴撲綅绫诲瀷淇濆瓨澶辫触锛侊紒"); + throw new CoolException("搴撲綅绫诲瀷鍏宠仈鍏崇郴淇濆瓨澶辫触锛侊紒"); } return R.ok("Save Success").add(loc); } @@ -97,10 +96,17 @@ @PostMapping("/loc/update") public R update(@RequestBody Loc loc) { loc.setUpdateBy(getLoginUserId()); - loc.setUpdateTime(new Date()); + + String join = StringUtils.join(loc.getTypeIds(), ","); + loc.setType(join); + if (!locService.updateById(loc)) { return R.error("Update Fail"); } + + if (!locService.updateLoc(loc)) { + throw new CoolException("搴撲綅绫诲瀷鍏宠仈鍏崇郴淇敼澶辫触锛侊紒"); + } return R.ok("Update Success").add(loc); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java new file mode 100644 index 0000000..43a0aac --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItemLog.java @@ -0,0 +1,358 @@ +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_asn_order_item_log") +public class AsnOrderItemLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * ASN涓诲崟鏍囪瘑 + */ + @ApiModelProperty(value= "ASN涓诲崟鏍囪瘑") + private Long asnId; + + /** + * ASN鍗曞彿 + */ + @ApiModelProperty(value= "ASN鍗曞彿") + private String asnCode; + + /** + * 骞冲彴琛屽彿 + */ + @ApiModelProperty(value= "骞冲彴琛屽彿") + private String platItemId; + + /** + * PO鍗曟槑缁嗘爣璇� + */ + @ApiModelProperty(value= "PO鍗曟槑缁嗘爣璇�") + private Long poDetlId; + + /** + * PO鍗曠紪鐮� + */ + @ApiModelProperty(value= "PO鍗曠紪鐮�") + private String poCode; + + /** + * 鍔ㄦ�佸瓧娈电储寮� + */ + @ApiModelProperty(value= "鍔ㄦ�佸瓧娈电储寮� ") + private String fieldsIndex; + + /** + * 鐗╂枡鏍囪瘑 + */ + @ApiModelProperty(value= "鐗╂枡鏍囪瘑") + private String matnrId; + + /** + * 鐗╂枡鍔╄鐮� + */ + @ApiModelProperty(value= "鐗╂枡鍔╄鐮�") + private String matnrCode; + + /** + * 鐗╂枡鍚嶇О + */ + @ApiModelProperty(value= "鐗╂枡鍚嶇О") + private String maktx; + + /** + * 閫佽揣鏁伴噺 + */ + @ApiModelProperty(value= "閫佽揣鏁伴噺") + private Double anfme; + + /** + * 搴撳瓨鍗曚綅 + */ + @ApiModelProperty(value= "搴撳瓨鍗曚綅") + private String stockUnit; + + /** + * 閲囪喘鏁伴噺 + */ + @ApiModelProperty(value= "閲囪喘鏁伴噺") + private Double purQty; + + /** + * 閲囪喘鍗曚綅 + */ + @ApiModelProperty(value= "閲囪喘鍗曚綅") + private String purUnit; + + /** + * 宸叉敹鏁伴噺 + */ + @ApiModelProperty(value= "宸叉敹鏁伴噺") + private Double qty; + + /** + * 渚涘簲鍟嗙紪鐮� + */ + @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�") + private String splrCode; + + /** + * 渚涘簲鍟嗘壒娆� + */ + @ApiModelProperty(value= "渚涘簲鍟嗘壒娆�") + private String splrBatch; + + /** + * 渚涘簲鍟嗗悕绉� + */ + @ApiModelProperty(value= "渚涘簲鍟嗗悕绉�") + private String splrName; + + /** + * 浜岀淮鐮� + */ + @ApiModelProperty(value= "浜岀淮鐮�") + private String qrcode; + + /** + * 璺熻釜鐮� + */ + @ApiModelProperty(value= "璺熻釜鐮�") + private String trackCode; + + /** + * 鏉″舰鐮� + */ + @ApiModelProperty(value= "鏉″舰鐮�") + private String barcode; + + /** + * 鍖呰鍚嶇О + */ + @ApiModelProperty(value= "鍖呰鍚嶇О") + private String packName; + + /** + * 璐ㄦ鐘舵�佷笂鎶� 0: 鏈笂鎶� 1: 宸蹭笂鎶� + */ + @ApiModelProperty(value= "璐ㄦ鐘舵�佷笂鎶� 0: 鏈笂鎶� 1: 宸蹭笂鎶� ") + private Short ntyStatus; + + /** + * 鐘舵�� 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 AsnOrderItemLog() {} + + public AsnOrderItemLog(Long asnId,String asnCode,String platItemId,Long poDetlId,String poCode,String fieldsIndex,String matnrId,String matnrCode,String maktx,Double anfme,String stockUnit,Double purQty,String purUnit,Double qty,String splrCode,String splrBatch,String splrName,String qrcode,String trackCode,String barcode,String packName,Short ntyStatus,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { + this.asnId = asnId; + this.asnCode = asnCode; + this.platItemId = platItemId; + this.poDetlId = poDetlId; + this.poCode = poCode; + this.fieldsIndex = fieldsIndex; + this.matnrId = matnrId; + this.matnrCode = matnrCode; + this.maktx = maktx; + this.anfme = anfme; + this.stockUnit = stockUnit; + this.purQty = purQty; + this.purUnit = purUnit; + this.qty = qty; + this.splrCode = splrCode; + this.splrBatch = splrBatch; + this.splrName = splrName; + this.qrcode = qrcode; + this.trackCode = trackCode; + this.barcode = barcode; + this.packName = packName; + this.ntyStatus = ntyStatus; + this.status = status; + this.deleted = deleted; + this.tenantId = tenantId; + this.createBy = createBy; + this.createTime = createTime; + this.updateBy = updateBy; + this.updateTime = updateTime; + this.memo = memo; + } + +// AsnOrderItemLog asnOrderItemLog = new AsnOrderItemLog( +// null, // ASN涓诲崟鏍囪瘑 +// null, // ASN鍗曞彿 +// null, // 骞冲彴琛屽彿 +// null, // PO鍗曟槑缁嗘爣璇� +// null, // PO鍗曠紪鐮� +// null, // 鍔ㄦ�佸瓧娈电储寮� +// null, // 鐗╂枡鏍囪瘑 +// null, // 鐗╂枡鍔╄鐮� +// null, // 鐗╂枡鍚嶇О +// null, // 閫佽揣鏁伴噺[闈炵┖] +// null, // 搴撳瓨鍗曚綅 +// null, // 閲囪喘鏁伴噺[闈炵┖] +// null, // 閲囪喘鍗曚綅 +// null, // 宸叉敹鏁伴噺 +// null, // 渚涘簲鍟嗙紪鐮� +// null, // 渚涘簲鍟嗘壒娆� +// null, // 渚涘簲鍟嗗悕绉� +// null, // 浜岀淮鐮� +// null, // 璺熻釜鐮� +// null, // 鏉″舰鐮� +// null, // 鍖呰鍚嶇О +// null, // 璐ㄦ鐘舵�佷笂鎶闈炵┖] +// null, // 鐘舵�乕闈炵┖] +// null, // 鏄惁鍒犻櫎[闈炵┖] +// null, // 绉熸埛 +// null, // 娣诲姞浜哄憳 +// null, // 娣诲姞鏃堕棿[闈炵┖] +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿[闈炵┖] +// null // 澶囨敞 +// ); + + public String getNtyStatus$(){ + if (null == this.ntyStatus){ return null; } + switch (this.ntyStatus){ + case 0: + return " 鏈笂鎶�"; + case 1: + return " 宸蹭笂鎶�"; + default: + return String.valueOf(this.ntyStatus); + } + } + + 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/AsnOrderLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java new file mode 100644 index 0000000..467026c --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java @@ -0,0 +1,294 @@ +package com.vincent.rsf.server.manager.entity; + +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; +import com.baomidou.mybatisplus.annotation.TableLogic; +import java.text.SimpleDateFormat; +import java.util.Date; +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_asn_order_log") +public class AsnOrderLog 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; + + /** + * PO鍗曞彿 + */ + @ApiModelProperty(value= "PO鍗曞彿") + private String poCode; + + /** + * PO鍗曟嵁鏍囪瘑 + */ + @ApiModelProperty(value= "PO鍗曟嵁鏍囪瘑") + private Long poId; + + /** + * 鍗曟嵁绫诲瀷 + */ + @ApiModelProperty(value= "鍗曟嵁绫诲瀷") + private String type; + + /** + * 涓氬姟绫诲瀷 + */ + @ApiModelProperty(value= "涓氬姟绫诲瀷") + private String wkType; + + /** + * 閫佽揣鏁伴噺 + */ + @ApiModelProperty(value= "閫佽揣鏁伴噺") + private Double anfme; + + /** + * 宸叉敹鏁伴噺 + */ + @ApiModelProperty(value= "宸叉敹鏁伴噺") + private Double qty; + + /** + * 鐗╂祦鍗曞彿 + */ + @ApiModelProperty(value= "鐗╂祦鍗曞彿") + private String logisNo; + + /** + * 棰勮鍒拌揪鏃堕棿 + */ + @ApiModelProperty(value= "棰勮鍒拌揪鏃堕棿") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date arrTime; + + /** + * 閲婃斁鐘舵�� 0: 姝e父 1: 宸查噴鏀� + */ + @ApiModelProperty(value= "閲婃斁鐘舵�� 0: 姝e父 1: 宸查噴鏀� ") + private Short rleStatus; + + /** + * 璐ㄦ涓婃姤鐘舵�� 0: 鏈笂鎶� 1: 宸蹭笂鎶� 2: 閮ㄥ垎涓婃姤 + */ + @ApiModelProperty(value= "璐ㄦ涓婃姤鐘舵�� 0: 鏈笂鎶� 1: 宸蹭笂鎶� 2: 閮ㄥ垎涓婃姤 ") + private Short ntyStatus; + + /** + * 鐘舵�� 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 AsnOrderLog() {} + + public AsnOrderLog(String code,String poCode,Long poId,String type,String wkType,Double anfme,Double qty,String logisNo,Date arrTime,Short rleStatus,Short ntyStatus,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { + this.code = code; + this.poCode = poCode; + this.poId = poId; + this.type = type; + this.wkType = wkType; + this.anfme = anfme; + this.qty = qty; + this.logisNo = logisNo; + this.arrTime = arrTime; + this.rleStatus = rleStatus; + this.ntyStatus = ntyStatus; + this.status = status; + this.deleted = deleted; + this.tenantId = tenantId; + this.createBy = createBy; + this.createTime = createTime; + this.updateBy = updateBy; + this.updateTime = updateTime; + this.memo = memo; + } + +// AsnOrderLog asnOrderLog = new AsnOrderLog( +// null, // 缂栧彿 +// null, // PO鍗曞彿 +// null, // PO鍗曟嵁鏍囪瘑 +// null, // 鍗曟嵁绫诲瀷[闈炵┖] +// null, // 涓氬姟绫诲瀷[闈炵┖] +// null, // 閫佽揣鏁伴噺[闈炵┖] +// null, // 宸叉敹鏁伴噺[闈炵┖] +// null, // 鐗╂祦鍗曞彿 +// null, // 棰勮鍒拌揪鏃堕棿 +// null, // 閲婃斁鐘舵�乕闈炵┖] +// null, // 璐ㄦ涓婃姤鐘舵�乕闈炵┖] +// null, // 鐘舵�乕闈炵┖] +// null, // 鏄惁鍒犻櫎[闈炵┖] +// null, // 绉熸埛 +// null, // 娣诲姞浜哄憳 +// null, // 娣诲姞鏃堕棿[闈炵┖] +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿[闈炵┖] +// null // 澶囨敞 +// ); + + public String getArrTime$(){ + if (Cools.isEmpty(this.arrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.arrTime); + } + + public String getRleStatus$(){ + if (null == this.rleStatus){ return null; } + switch (this.rleStatus){ + case 0: + return " 姝e父"; + case 1: + return " 宸查噴鏀�"; + default: + return String.valueOf(this.rleStatus); + } + } + + public String getNtyStatus$(){ + if (null == this.ntyStatus){ return null; } + switch (this.ntyStatus){ + case 0: + return " 鏈笂鎶�"; + case 1: + return " 宸蹭笂鎶�"; + case 2: + return " 閮ㄥ垎涓婃姤"; + default: + return String.valueOf(this.ntyStatus); + } + } + + 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/Loc.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Loc.java index 5cb74ab..3e801f0 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Loc.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Loc.java @@ -63,7 +63,7 @@ @ApiModelProperty("搴撲綅绫诲瀷(*)[man_loc_type]") @TableField(exist = false) - private String typeIds; + private List<Long> typeIds; /** * 铏氭嫙搴撲綅 @@ -280,9 +280,10 @@ // null // 澶囨敞 // ); - public String getType$(){ + public String getTypeId$(){ if (null == this.type){ return null; } - List<String> asList = Arrays.asList(this.type); + String[] split = this.type.split(","); + List<String> asList = Arrays.asList(split); if (asList.isEmpty()) { return null; } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemLogMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemLogMapper.java new file mode 100644 index 0000000..788d916 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderItemLogMapper.java @@ -0,0 +1,12 @@ +package com.vincent.rsf.server.manager.mapper; + +import com.vincent.rsf.server.manager.entity.AsnOrderItemLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface AsnOrderItemLogMapper extends BaseMapper<AsnOrderItemLog> { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderLogMapper.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderLogMapper.java new file mode 100644 index 0000000..2c9253e --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/AsnOrderLogMapper.java @@ -0,0 +1,12 @@ +package com.vincent.rsf.server.manager.mapper; + +import com.vincent.rsf.server.manager.entity.AsnOrderLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface AsnOrderLogMapper extends BaseMapper<AsnOrderLog> { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java new file mode 100644 index 0000000..820fe6e --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java @@ -0,0 +1,36 @@ +package com.vincent.rsf.server.manager.schedules; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.vincent.rsf.server.manager.entity.AsnOrder; +import com.vincent.rsf.server.manager.service.AsnOrderItemLogService; +import com.vincent.rsf.server.manager.service.AsnOrderItemService; +import com.vincent.rsf.server.manager.service.AsnOrderLogService; +import com.vincent.rsf.server.manager.service.AsnOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author Ryan + * @version 1.0 + * @title AsnOrderLogSchedule + * @description + * @create 2025/3/19 19:07 + */ +@Component +public class AsnOrderLogSchedule { + + /** + * @author Ryan + * @description 鍒犻櫎宸插畬鎴愯鍗曞姞鍏og琛� + * @param + * @return + * @time 2025/3/19 19:09 + */ + @Scheduled(cron = "0 0/05 * * * ? ") + @Transactional(rollbackFor = Exception.class) + public void moveOrderToLog() { + + } +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemLogService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemLogService.java new file mode 100644 index 0000000..c926381 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderItemLogService.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.AsnOrderItemLog; + +public interface AsnOrderItemLogService extends IService<AsnOrderItemLog> { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderLogService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderLogService.java new file mode 100644 index 0000000..c66b58d --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/AsnOrderLogService.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.AsnOrderLog; + +public interface AsnOrderLogService extends IService<AsnOrderLog> { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java index b10c4af..66c9a70 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java @@ -15,4 +15,6 @@ R initLocs(LocMastInitParam param); boolean saveType(Loc typeIds); + + boolean updateLoc(Loc loc); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemLogServiceImpl.java new file mode 100644 index 0000000..2c0038d --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemLogServiceImpl.java @@ -0,0 +1,12 @@ +package com.vincent.rsf.server.manager.service.impl; + +import com.vincent.rsf.server.manager.mapper.AsnOrderItemLogMapper; +import com.vincent.rsf.server.manager.entity.AsnOrderItemLog; +import com.vincent.rsf.server.manager.service.AsnOrderItemLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("asnOrderItemLogService") +public class AsnOrderItemLogServiceImpl extends ServiceImpl<AsnOrderItemLogMapper, AsnOrderItemLog> implements AsnOrderItemLogService { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java new file mode 100644 index 0000000..a607ac5 --- /dev/null +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderLogServiceImpl.java @@ -0,0 +1,12 @@ +package com.vincent.rsf.server.manager.service.impl; + +import com.vincent.rsf.server.manager.mapper.AsnOrderLogMapper; +import com.vincent.rsf.server.manager.entity.AsnOrderLog; +import com.vincent.rsf.server.manager.service.AsnOrderLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("asnOrderLogService") +public class AsnOrderLogServiceImpl extends ServiceImpl<AsnOrderLogMapper, AsnOrderLog> implements AsnOrderLogService { + +} diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java index 22980b3..d52fd62 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java @@ -1,6 +1,7 @@ package com.vincent.rsf.server.manager.service.impl; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; @@ -11,6 +12,7 @@ import com.vincent.rsf.server.manager.entity.WarehouseAreas; import com.vincent.rsf.server.manager.mapper.LocMapper; import com.vincent.rsf.server.manager.entity.Loc; +import com.vincent.rsf.server.manager.mapper.LocTypeRelaMapper; import com.vincent.rsf.server.manager.service.LocService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.manager.service.LocTypeRelaService; @@ -34,6 +36,9 @@ @Autowired private LocTypeRelaService locTypeRelaService; + + @Autowired + private LocTypeRelaMapper locTypeRelaMapper; @Override public R modifyLocs(LocModifyParams locs) { @@ -102,19 +107,35 @@ } @Override - @Transactional(rollbackFor = Exception.class) public boolean saveType(Loc loc) { + List<LocTypeRela> relas = new ArrayList<>(); - List<Long> lists = JSONArray.parseArray(loc.getTypeIds(), Long.class); - lists.forEach(id -> { + loc.getTypeIds().forEach(id -> { LocTypeRela typeRela = new LocTypeRela(); typeRela.setTypeId(id) .setLocId(loc.getId()); relas.add(typeRela); }); - if (!locTypeRelaService.saveBatch(relas)) { + if (!locTypeRelaService.saveOrUpdateBatch(relas)) { throw new CoolException("搴撲綅鍏宠仈鍏崇郴淇濆瓨鎴愬姛锛侊紒"); } return true; } + + @Override + public boolean updateLoc(Loc loc) { + locTypeRelaMapper.delete(new LambdaQueryWrapper<LocTypeRela>().eq(LocTypeRela::getLocId, loc.getId())); + + List<LocTypeRela> relas = new ArrayList<>(); + loc.getTypeIds().forEach(id -> { + LocTypeRela typeRela = new LocTypeRela(); + typeRela.setTypeId(id) + .setLocId(loc.getId()); + relas.add(typeRela); + }); + if (!locTypeRelaService.saveOrUpdateBatch(relas)) { + throw new CoolException("搴撲綅鍏宠仈鍏崇郴淇濆瓨鎴愬姛锛侊紒"); + } + return false; + } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java index ef23d97..30f9f74 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java @@ -105,6 +105,7 @@ record.setExtendFields(fields); } } - return null; + page.setRecords(records); + return page; } } diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemLogMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemLogMapper.xml new file mode 100644 index 0000000..83b07c8 --- /dev/null +++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemLogMapper.xml @@ -0,0 +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.manager.mapper.AsnOrderItemLogMapper"> + +</mapper> diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderLogMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderLogMapper.xml new file mode 100644 index 0000000..dee9a06 --- /dev/null +++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderLogMapper.xml @@ -0,0 +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.manager.mapper.AsnOrderLogMapper"> + +</mapper> -- Gitblit v1.9.1