rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogItemController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/ReviseLogItemParams.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogItemService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/locRevise.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
rsf-server/src/main/java/transferOrder.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogItemController.java
@@ -4,14 +4,17 @@ 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.framework.exception.CoolException; 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.controller.params.ReviseLogItemParams; import com.vincent.rsf.server.manager.entity.ReviseLogItem; import com.vincent.rsf.server.manager.service.ReviseLogItemService; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -19,13 +22,14 @@ import javax.servlet.http.HttpServletResponse; import java.util.*; @Api("库存调整历史") @RestController public class ReviseLogItemController extends BaseController { @Autowired private ReviseLogItemService reviseLogItemService; @PreAuthorize("hasAuthority('manager:reviseLogItem:list')") @PreAuthorize("hasAuthority('manager:locRevise:list')") @PostMapping("/reviseLogItem/page") public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); @@ -33,25 +37,25 @@ return R.ok().add(reviseLogItemService.page(pageParam, pageParam.buildWrapper(true))); } @PreAuthorize("hasAuthority('manager:reviseLogItem:list')") @PreAuthorize("hasAuthority('manager:locRevise:list')") @PostMapping("/reviseLogItem/list") public R list(@RequestBody Map<String, Object> map) { return R.ok().add(reviseLogItemService.list()); } @PreAuthorize("hasAuthority('manager:reviseLogItem:list')") @PreAuthorize("hasAuthority('manager:locRevise:list')") @PostMapping({"/reviseLogItem/many/{ids}", "/reviseLogItems/many/{ids}"}) public R many(@PathVariable Long[] ids) { return R.ok().add(reviseLogItemService.listByIds(Arrays.asList(ids))); } @PreAuthorize("hasAuthority('manager:reviseLogItem:list')") @PreAuthorize("hasAuthority('manager:locRevise:list')") @GetMapping("/reviseLogItem/{id}") public R get(@PathVariable("id") Long id) { return R.ok().add(reviseLogItemService.getById(id)); } @PreAuthorize("hasAuthority('manager:reviseLogItem:save')") @PreAuthorize("hasAuthority('manager:locRevise:save')") @OperationLog("Create 库位调整历史") @PostMapping("/reviseLogItem/save") public R save(@RequestBody ReviseLogItem reviseLogItem) { @@ -65,7 +69,20 @@ return R.ok("Save Success").add(reviseLogItem); } @PreAuthorize("hasAuthority('manager:reviseLogItem:update')") @PreAuthorize("hasAuthority('manager:locRevise:save')") @OperationLog("Create 库位调整历史") @PostMapping("/reviseLogItem/items/save") public R itemSave(@RequestBody ReviseLogItemParams reviseLogItem) { if (Objects.isNull(reviseLogItem.getReviseLogId())) { throw new CoolException("参数不能为空!!"); } if (Objects.isNull(reviseLogItem.getItems()) || reviseLogItem.getItems().isEmpty()) { throw new CoolException("明细参数不能为空!!"); } return R.ok().add(reviseLogItemService.itemSave(reviseLogItem, getLoginUserId())); } @PreAuthorize("hasAuthority('manager:locRevise:update')") @OperationLog("Update 库位调整历史") @PostMapping("/reviseLogItem/update") public R update(@RequestBody ReviseLogItem reviseLogItem) { @@ -77,7 +94,7 @@ return R.ok("Update Success").add(reviseLogItem); } @PreAuthorize("hasAuthority('manager:reviseLogItem:remove')") @PreAuthorize("hasAuthority('manager:locRevise:remove')") @OperationLog("Delete 库位调整历史") @PostMapping("/reviseLogItem/remove/{ids}") public R remove(@PathVariable Long[] ids) { @@ -87,7 +104,7 @@ return R.ok("Delete Success").add(ids); } @PreAuthorize("hasAuthority('manager:reviseLogItem:list')") @PreAuthorize("hasAuthority('manager:locRevise:list')") @PostMapping("/reviseLogItem/query") public R query(@RequestParam(required = false) String condition) { List<KeyValVo> vos = new ArrayList<>(); @@ -101,7 +118,7 @@ return R.ok().add(vos); } @PreAuthorize("hasAuthority('manager:reviseLogItem:list')") @PreAuthorize("hasAuthority('manager:locRevise:list')") @PostMapping("/reviseLogItem/export") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { ExcelUtil.build(ExcelUtil.create(reviseLogItemService.list(), ReviseLogItem.class), response); rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/ReviseLogItemParams.java
New file @@ -0,0 +1,26 @@ package com.vincent.rsf.server.manager.controller.params; import com.vincent.rsf.server.manager.entity.ReviseLog; import com.vincent.rsf.server.manager.entity.ReviseLogItem; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "ReviseLogItemParams", description = "库存调整参数") public class ReviseLogItemParams implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("调整单历史ID") private Long reviseLogId; @ApiModelProperty("调整单明细") private List<ReviseLogItem> items; } rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java
@@ -59,6 +59,9 @@ @ApiModelProperty(value= "库区ID") private Long areaId; @ApiModelProperty("库位") private String locCode; /** * 类型 */ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLogItem.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.annotation.TableLogic; import java.text.SimpleDateFormat; import java.util.Date; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -22,6 +24,7 @@ import java.util.Date; @Data @Accessors(chain = true) @TableName("man_revise_log_item") public class ReviseLogItem implements Serializable { rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogItemService.java
@@ -1,8 +1,12 @@ package com.vincent.rsf.server.manager.service; import com.baomidou.mybatisplus.extension.service.IService; import com.vincent.rsf.server.manager.controller.params.ReviseLogItemParams; import com.vincent.rsf.server.manager.entity.ReviseLogItem; import java.util.List; public interface ReviseLogItemService extends IService<ReviseLogItem> { List<ReviseLogItem> itemSave(ReviseLogItemParams reviseLogItem, Long userId); } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogItemServiceImpl.java
@@ -1,12 +1,84 @@ package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.server.manager.controller.params.ReviseLogItemParams; import com.vincent.rsf.server.manager.entity.Loc; import com.vincent.rsf.server.manager.entity.LocItem; import com.vincent.rsf.server.manager.entity.ReviseLog; import com.vincent.rsf.server.manager.mapper.ReviseLogItemMapper; import com.vincent.rsf.server.manager.entity.ReviseLogItem; import com.vincent.rsf.server.manager.service.LocItemService; import com.vincent.rsf.server.manager.service.LocService; import com.vincent.rsf.server.manager.service.ReviseLogItemService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.manager.service.ReviseLogService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; @Service("reviseLogItemService") public class ReviseLogItemServiceImpl extends ServiceImpl<ReviseLogItemMapper, ReviseLogItem> implements ReviseLogItemService { @Autowired private ReviseLogService reviseLogService; @Autowired private LocItemService locItemService; @Autowired private LocService locService; /** * 保存库存调整历史单明细 * @param reviseLogItem * @return */ @Override @Transactional(rollbackFor = Exception.class) public List<ReviseLogItem> itemSave(ReviseLogItemParams reviseLogItem, Long userId) { ReviseLog reviseLog = reviseLogService.getById(reviseLogItem.getReviseLogId()); if (Objects.isNull(reviseLog)) { throw new RuntimeException("库存历史单据不存在!!"); } Loc locItem = locService.getOne(new LambdaQueryWrapper<Loc>() .eq(Loc::getCode, reviseLog.getLocCode())); if (Objects.isNull(locItem)) { throw new RuntimeException("库位库存不存在!!"); } List<ReviseLogItem> items = reviseLogItem.getItems(); items.forEach(item -> { ReviseLogItem logItem = new ReviseLogItem(); BeanUtils.copyProperties(item, logItem); logItem.setReviseLogId(reviseLogItem.getReviseLogId()) .setUpdateBy(userId) .setCreateBy(userId) .setLocId(locItem.getId()) .setLocCode(locItem.getCode()); if (Objects.isNull(item.getAnfme())) { item.setAnfme(0.0); } if (!this.save(logItem)) { throw new RuntimeException("库存明细调整失败"); } LocItem one = locItemService.getOne(new LambdaQueryWrapper<LocItem>() .eq(LocItem::getMatnrId, logItem.getMatnrId()) .eq(LocItem::getBatch, logItem.getBatch()) .eq(LocItem::getFieldsIndex, logItem.getFieldsIndex()) .eq(LocItem::getLocCode, logItem.getLocCode())); if (Objects.isNull(one)) { throw new RuntimeException("库存明细不存在!!"); } one.setAnfme(logItem.getReviseQty()); if (!locItemService.updateById(one)) { throw new RuntimeException("库存明细修改失败!!"); } }); return items; } } rsf-server/src/main/java/locRevise.sql
File was deleted rsf-server/src/main/java/transferOrder.sql
File was deleted