diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/controller/StockInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/controller/StockInfoController.java index 09af0a58..bd972e0d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/controller/StockInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/controller/StockInfoController.java @@ -130,4 +130,29 @@ public class StockInfoController extends BaseController //System.out.println(stockInfos); return Result.getSuccessResult(stockInfos); } + + + /* + * 入库单详情查询所有的仓库Id + * */ + @ResponseBody + @GetMapping("/getAllWarehouseCode") + public List getAllWarehouseCode(){ + + List list = stockInfoService.getAllWarehouseCode(); + return list; + } + + /* + * 根据仓库ID查询仓库名称 + * */ + @ResponseBody + @GetMapping("/getStockNameByWarehouseCode/{warehouseCode}") + public AjaxResult getStockNameByWarehouseCode(@PathVariable String warehouseCode){ + + StockInfo stockInfo = stockInfoService.selectStockInfoByCode(warehouseCode); + return AjaxResult.success(stockInfo); + + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/StockInfoMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/StockInfoMapper.java index 7dfe60ea..415efdc5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/StockInfoMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/mapper/StockInfoMapper.java @@ -59,4 +59,15 @@ public interface StockInfoMapper * @return 结果 */ public int deleteStockInfoByIds(String[] StockNOs); + + /* + * 入库单详情查询所有的仓库Id + * */ + public List getAllWarehouseCode(); + + + /* + * 根据仓库ID查询仓库名称 + * */ + public StockInfo selectStockInfoByCode(String warehouseCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/service/IStockInfoService.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/service/IStockInfoService.java index f30a54ae..a8680006 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/service/IStockInfoService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/service/IStockInfoService.java @@ -59,4 +59,14 @@ public interface IStockInfoService * @return 结果 */ public int deleteStockInfoById(String StockNO); + + /* + * 入库单详情查询所有的仓库Id + * */ + public List getAllWarehouseCode(); + + /* + * 根据仓库ID查询仓库名称 + * */ + public StockInfo selectStockInfoByCode(String warehouseCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/service/impl/StockInfoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/service/impl/StockInfoServiceImpl.java index 95b3d7f3..2ee9528c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/service/impl/StockInfoServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/service/impl/StockInfoServiceImpl.java @@ -92,4 +92,21 @@ public class StockInfoServiceImpl implements IStockInfoService { return stockInfoMapper.deleteStockInfoById(StockNO); } + + + /* + * 入库单详情查询所有的仓库Id + * */ + @Override + public List getAllWarehouseCode() { + return stockInfoMapper.getAllWarehouseCode(); + } + + /* + * 根据仓库ID查询仓库名称 + * */ + @Override + public StockInfo selectStockInfoByCode(String warehouseCode) { + return stockInfoMapper.selectStockInfoByCode(warehouseCode); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java index 7c1193b6..bca5c591 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java @@ -10,11 +10,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.warehouse.domain.WarehouseStorageOrder; @@ -140,7 +136,7 @@ public class WarehouseStorageOrderController extends BaseController @Log(title = "仓库入库单", businessType = BusinessType.UPDATE) @PostMapping("/temporaryPurchaseWarehouse") @ResponseBody - public AjaxResult temporaryPurchaseWarehouseSave(WarehouseStorageOrder warehouseStorageOrder) + public AjaxResult temporaryPurchaseWarehouseSave(@RequestBody WarehouseStorageOrder warehouseStorageOrder) { return toAjax(warehouseStorageOrderService.updateWarehouseStorageOrder(warehouseStorageOrder)); } @@ -157,4 +153,5 @@ public class WarehouseStorageOrderController extends BaseController return groupedDetails; } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderDetailMapper.java index 3dc2ecf7..c58dcd78 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderDetailMapper.java @@ -80,4 +80,15 @@ public interface WarehouseStorageOrderDetailMapper * 根据入库单号查询入库单详情列表 * */ List selectStorageOrderDetailListByCode(String warehouseStorageCode); + + /* + * 根据入库单号、供应商id、物料号查询物料单详情 + * */ + WarehouseStorageOrderDetail selectWarehouseStorageOrderByObject(WarehouseStorageOrderDetail tempStorageOrderDetail); + + + /* + * 根据入库单号、供应商id、物料号更新对应的物料单详情 + * */ + int updateWarehouseStorageOrderDetailByObject(WarehouseStorageOrderDetail warehouseStorageOrderDetail); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java index fc768bb5..760b974a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.warehouse.mapper; import java.util.List; import com.ruoyi.warehouse.domain.WarehouseStorageOrder; +import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail; /** * 仓库入库单Mapper接口 @@ -74,4 +75,5 @@ public interface WarehouseStorageOrderMapper * @return 结果 */ public int restoreWarehouseStorageOrderById(Long warehouseStorageId); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java index 9fc78669..cf9de9f7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java @@ -3,12 +3,17 @@ package com.ruoyi.warehouse.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail; +import com.ruoyi.warehouse.mapper.WarehouseStorageOrderDetailMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.warehouse.mapper.WarehouseStorageOrderMapper; import com.ruoyi.warehouse.domain.WarehouseStorageOrder; import com.ruoyi.warehouse.service.IWarehouseStorageOrderService; import com.ruoyi.common.core.text.Convert; +import org.springframework.transaction.annotation.Transactional; /** * 仓库入库单Service业务层处理 @@ -17,11 +22,14 @@ import com.ruoyi.common.core.text.Convert; * @date 2024-05-22 */ @Service +@Slf4j public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderService { @Autowired private WarehouseStorageOrderMapper warehouseStorageOrderMapper; + @Autowired + private WarehouseStorageOrderDetailMapper storageOrderDetailMapper; /** * 查询仓库入库单 * @@ -67,12 +75,34 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS * @param warehouseStorageOrder 仓库入库单 * @return 结果 */ + @Transactional @Override public int updateWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder) { String loginName = ShiroUtils.getLoginName(); warehouseStorageOrder.setUpdateBy(loginName); warehouseStorageOrder.setUpdateTime(DateUtils.getNowDate()); + + List storageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); + + if (StringUtils.isEmpty(storageOrderDetailList)){ + log.warn("入库单详情为空:{}",storageOrderDetailList); + }else { + for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : storageOrderDetailList) { + warehouseStorageOrderDetail.setWarehouseStorageCode(warehouseStorageOrder.getWarehouseStorageCode()); + WarehouseStorageOrderDetail tempStorageOrderDetail = new WarehouseStorageOrderDetail(); + tempStorageOrderDetail.setMaterialNo(warehouseStorageOrderDetail.getMaterialNo()); + tempStorageOrderDetail.setSupplierCode(warehouseStorageOrderDetail.getSupplierCode()); + tempStorageOrderDetail.setWarehouseStorageCode(warehouseStorageOrder.getWarehouseStorageCode()); + WarehouseStorageOrderDetail storageOrderDetailFromData = storageOrderDetailMapper.selectWarehouseStorageOrderByObject(tempStorageOrderDetail); + if (storageOrderDetailFromData == null){ + log.warn("数据库中入库单详情为空:{}",tempStorageOrderDetail); + }else { + storageOrderDetailMapper.updateWarehouseStorageOrderDetailByObject(warehouseStorageOrderDetail); + } + } + } + return warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder); } diff --git a/ruoyi-admin/src/main/resources/mapper/stock/StockInfoMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/StockInfoMapper.xml index 200040fb..d526065c 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/StockInfoMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/StockInfoMapper.xml @@ -35,7 +35,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where stock_id = #{stockId} - + + + + + + insert into stock_info diff --git a/ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderDetailMapper.xml index 6fe0a77e..0918a4c9 100644 --- a/ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderDetailMapper.xml @@ -77,7 +77,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where warehouse_storage_code = #{warehouseStorageCode} - + insert into warehouse_storage_order_detail @@ -240,6 +245,65 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where warehouse_storage_detail_id = #{warehouseStorageDetailId} + + + update warehouse_storage_order_detail + + warehouse_storage_code = #{warehouseStorageCode}, + related_order_code = #{relatedOrderCode}, + warehouse_storage_status = #{warehouseStorageStatus}, + warehouse_quality_status = #{warehouseQualityStatus}, + warehouse_storage_type = #{warehouseStorageType}, + warehouse_storage_class = #{warehouseStorageClass}, + warehouse_order_type = #{warehouseOrderType}, + warehouse_dept_type = #{warehouseDeptType}, + warehouse_employee = #{warehouseEmployee}, + warehouse_code = #{warehouseCode}, + warehouse_name = #{warehouseName}, + warehouse_detail_address = #{warehouseDetailAddress}, + supplier_code = #{supplierCode}, + supplier_name = #{supplierName}, + customer_contact = #{customerContact}, + contact_number = #{contactNumber}, + supplier_address = #{supplierAddress}, + material_no = #{materialNo}, + material_name = #{materialName}, + material_type = #{materialType}, + material_photoUrl = #{materialPhotourl}, + material_brand = #{materialBrand}, + material_unit = #{materialUnit}, + material_describe = #{materialDescribe}, + material_process_method = #{materialProcessMethod}, + material_dept_type = #{materialDeptType}, + make_total = #{makeTotal}, + notify_has_arrived_num = #{notifyHasArrivedNum}, + notify_arrive_num = #{notifyArriveNum}, + actual_has_arrived_num = #{actualHasArrivedNum}, + actual_arrive_num = #{actualArriveNum}, + temporary_has_qualified_num = #{temporaryHasQualifiedNum}, + temporary_qualified_num = #{temporaryQualifiedNum}, + has_storage_num = #{hasStorageNum}, + storage_num = #{storageNum}, + quality_has_qualified_num = #{qualityHasQualifiedNum}, + quality_qualified_num = #{qualityQualifiedNum}, + refunds_exchanges_num = #{refundsExchangesNum}, + arrived_time = #{arrivedTime}, + temporary_time = #{temporaryTime}, + delivery_inspection_time = #{deliveryInspectionTime}, + quality_time = #{qualityTime}, + storage_time = #{storageTime}, + temporary_remark = #{temporaryRemark}, + temporary_report_url = #{temporaryReportUrl}, + create_time = #{createTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where warehouse_storage_code = #{warehouseStorageCode} + and supplier_code = #{supplierCode} + and material_no = #{materialNo} + + delete from warehouse_storage_order_detail where warehouse_storage_detail_id = #{warehouseStorageDetailId} diff --git a/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchaseWarehouse.html b/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchaseWarehouse.html index 3be57241..76604e81 100644 --- a/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchaseWarehouse.html +++ b/ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchaseWarehouse.html @@ -18,13 +18,13 @@
- +
- +
@@ -39,7 +39,7 @@
- +
@@ -54,13 +54,15 @@
- +
- +
- +
@@ -88,16 +90,66 @@ \ No newline at end of file