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; @@ -183,4 +185,23 @@ } 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); } } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/params/CheckObjParams.java
New file @@ -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; } rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/CheckObjDto.java
New file @@ -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; } 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; @@ -44,4 +46,8 @@ R inspect(String code, Long loginUserId); R confirmIspt(String id); R checkObjs(CheckObjParams params); R checkUpdate(QlyIsptItem params); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -4,8 +4,10 @@ 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; @@ -16,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.*; @@ -78,6 +81,8 @@ private MatnrMapper matnrMapper; @Resource private QlyInspectMapper qlyInspectMapper; @Autowired private QlyIsptItemService qlyIsptItemService; @Resource private StockItemMapper stockItemMapper; @Resource @@ -491,6 +496,66 @@ } /** * 通过物料,质检单获取需要质检单据 * @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) { 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)) {