diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsOrderInController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsOrderInController.java index 741e8ba3..d0b813c3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsOrderInController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppPmsOrderInController.java @@ -5,7 +5,9 @@ import javax.servlet.http.HttpServletResponse; import com.ruoyi.app.domain.AppLocation; import com.ruoyi.app.domain.AppPmsOrderIn; +import com.ruoyi.app.domain.DTO.PmsStockInCompleteReq; import com.ruoyi.app.service.IAppPmsOrderInService; +import com.ruoyi.common.annotation.Anonymous; import com.ruoyi.web.controller.section.EnhanceDataList; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -105,4 +107,22 @@ public class AppPmsOrderInController extends BaseController { return toAjax(appPmsOrderInService.deleteAppPmsOrderInByListIds(listIds)); } + + /** + * 模糊查询,查询入库单表 + * @param param 查询参数 + * @return 返回结果 + */ + @Anonymous + @GetMapping(value = "/getInfoWithString/{str}") + public AjaxResult getInfoWithString(@PathVariable("str") String param) + { + return success(appPmsOrderInService.getInfoWithString(param)); + } + + @PostMapping("/pmsStockInComplete") + public AjaxResult pmsStockInComplete(@RequestBody PmsStockInCompleteReq request) { + return toAjax(appPmsOrderInService.pmsStockInComplete(request)); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/domain/DTO/PmsInData.java b/ruoyi-system/src/main/java/com/ruoyi/app/domain/DTO/PmsInData.java new file mode 100644 index 00000000..7e731135 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/app/domain/DTO/PmsInData.java @@ -0,0 +1,30 @@ +package com.ruoyi.app.domain.DTO; + +import com.ruoyi.common.annotation.Excel; + +import java.math.BigDecimal; + +public class PmsInData { + + /** 入库单号 */ + private String listId; + + /** 数量 */ + private BigDecimal goodsNum; + + public String getListId() { + return listId; + } + + public void setListId(String listId) { + this.listId = listId; + } + + public BigDecimal getGoodsNum() { + return goodsNum; + } + + public void setGoodsNum(BigDecimal goodsNum) { + this.goodsNum = goodsNum; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/domain/DTO/PmsStockInCompleteReq.java b/ruoyi-system/src/main/java/com/ruoyi/app/domain/DTO/PmsStockInCompleteReq.java new file mode 100644 index 00000000..a47cf720 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/app/domain/DTO/PmsStockInCompleteReq.java @@ -0,0 +1,29 @@ +package com.ruoyi.app.domain.DTO; + +import java.util.List; + +public class PmsStockInCompleteReq { + + + private String vehicleNo; + + private List pmsInData; + + + + public String getVehicleNo() { + return vehicleNo; + } + + public void setVehicleNo(String vehicleNo) { + this.vehicleNo = vehicleNo; + } + + public List getPmsInData() { + return pmsInData; + } + + public void setPmsInData(List pmsInData) { + this.pmsInData = pmsInData; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppPmsOrderInMapper.java b/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppPmsOrderInMapper.java index 9e9acefd..71a4f435 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppPmsOrderInMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppPmsOrderInMapper.java @@ -53,6 +53,9 @@ public interface AppPmsOrderInMapper */ public int deleteAppPmsOrderInByListId(String listId); + + public List selectAppPmsOrderInListWithParam(String param); + /** * 批量删除【请填写功能名称】 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppPmsOrderInService.java b/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppPmsOrderInService.java index d0c6bbf1..af49196e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppPmsOrderInService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppPmsOrderInService.java @@ -1,6 +1,7 @@ package com.ruoyi.app.service; import com.ruoyi.app.domain.AppPmsOrderIn; +import com.ruoyi.app.domain.DTO.PmsStockInCompleteReq; import java.util.List; @@ -61,4 +62,8 @@ public interface IAppPmsOrderInService */ public int deleteAppPmsOrderInByListId(String listId); + public List getInfoWithString(String param); + + public int pmsStockInComplete(PmsStockInCompleteReq request); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppPmsOrderInServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppPmsOrderInServiceImpl.java index 962e915c..8076b31a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppPmsOrderInServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppPmsOrderInServiceImpl.java @@ -2,12 +2,20 @@ package com.ruoyi.app.service.impl; import java.util.List; +import com.ruoyi.app.domain.AppPendingStorage; import com.ruoyi.app.domain.AppPmsOrderIn; +import com.ruoyi.app.domain.DTO.PmsInData; +import com.ruoyi.app.domain.DTO.PmsStockInCompleteReq; +import com.ruoyi.app.mapper.AppPendingStorageMapper; import com.ruoyi.app.mapper.AppPmsOrderInMapper; import com.ruoyi.app.service.IAppPmsOrderInService; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.ibatis.javassist.compiler.ast.Variable; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * 【请填写功能名称】Service业务层处理 @@ -20,6 +28,8 @@ public class AppPmsOrderInServiceImpl implements IAppPmsOrderInService { @Autowired private AppPmsOrderInMapper appPmsOrderInMapper; + @Autowired + private AppPendingStorageMapper appPendingStorageMapper; /** * 查询【请填写功能名称】 @@ -92,4 +102,50 @@ public class AppPmsOrderInServiceImpl implements IAppPmsOrderInService { return appPmsOrderInMapper.deleteAppPmsOrderInByListId(listId); } + + @Override + public List getInfoWithString(String param) { + if(StringUtils.isEmpty(param)) { + return appPmsOrderInMapper.selectAppPmsOrderInList(new AppPmsOrderIn()); + } + return appPmsOrderInMapper.selectAppPmsOrderInListWithParam(param); + + } + + @Override + @Transactional + public int pmsStockInComplete(PmsStockInCompleteReq request) { + List pmsInData = request.getPmsInData(); + if(StringUtils.isEmpty(request.getVehicleNo()) || pmsInData.isEmpty()) { + return 0; + } + int insertNum = 0; + for (PmsInData pmsInDatum : pmsInData) { + // 查询订单数据 + AppPmsOrderIn appPmsOrderIn = new AppPmsOrderIn(); + appPmsOrderIn.setListId(pmsInDatum.getListId()); + List appPmsOrderIns = appPmsOrderInMapper.selectAppPmsOrderInList(appPmsOrderIn); + if(appPmsOrderIns == null || appPmsOrderIns.isEmpty()) { + continue; + } + // 将订单数据插入码盘表 + AppPmsOrderIn appPmsOrderInInsert = appPmsOrderIns.getFirst(); + AppPendingStorage appPendingStorage = new AppPendingStorage(); + BeanUtils.copyProperties(appPmsOrderInInsert, appPendingStorage); + appPendingStorage.setVehicleNo(request.getVehicleNo()); + appPendingStorage.setGoodsNum(pmsInDatum.getGoodsNum()); + appPendingStorage.setStatus(1); + appPendingStorage.setCreateTime(DateUtils.getNowDate()); + appPendingStorage.setUpdateTime(DateUtils.getNowDate()); + appPendingStorage.setCreatePerson("PDA"); + appPendingStorageMapper.insertAppPendingStorage(appPendingStorage); + // 变更订单剩余数量 + AppPmsOrderIn update = new AppPmsOrderIn(); + update.setListId(pmsInDatum.getListId()); + update.setRemainingNum(appPmsOrderInInsert.getRemainingNum().subtract(pmsInDatum.getGoodsNum())); + appPmsOrderInMapper.updateAppPmsOrderIn(update); + insertNum ++; + } + return insertNum; + } } diff --git a/ruoyi-system/src/main/resources/mapper/app/AppPmsOrderInMapper.xml b/ruoyi-system/src/main/resources/mapper/app/AppPmsOrderInMapper.xml index 1f699a7f..6114542f 100644 --- a/ruoyi-system/src/main/resources/mapper/app/AppPmsOrderInMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/app/AppPmsOrderInMapper.xml @@ -73,6 +73,13 @@ where list_id = #{listId} + + + insert into app_pms_order_in @@ -195,4 +202,4 @@ - \ No newline at end of file +