package com.consum.base.service; import com.consum.base.core.utils.IdUtil; import com.consum.base.pojo.response.FormInventoryGoodsVO; import com.consum.model.po.LWhFormInventoryGoods; import com.walker.jdbc.service.BaseServiceImpl; import java.util.ArrayList; import java.util.List; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; /** * @Description 盘点单物品 * @Author 卢庆阳 * @Date 2023/10/31 */ @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED) public class LWhFormInventoryGoodsServiceImpl extends BaseServiceImpl { /** * @return * @Description 根据盘点单id查询盘点单物品 * @Author 卢庆阳 * @Date 2023/10/31 */ public List getByInventoryId(Long id) { LWhFormInventoryGoods inventoryGoods = new LWhFormInventoryGoods(); inventoryGoods.setWhFormInventoryId(id); return this.select(inventoryGoods); } public int add(List inventoryGoodsList, Long inventoryId) { List goodsList = new ArrayList<>(); for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) { LWhFormInventoryGoods lWhFormInventoryGoods = new LWhFormInventoryGoods(); lWhFormInventoryGoods.setId(IdUtil.generateId()); lWhFormInventoryGoods.setWhFormInventoryId(inventoryId); lWhFormInventoryGoods.setBaseGoodsTemplateId(inventoryGoods.getBaseGoodsTemplateId()); lWhFormInventoryGoods.setGoodsTemplateName(inventoryGoods.getGoodsTemplateName()); lWhFormInventoryGoods.setUnit(inventoryGoods.getUnit()); lWhFormInventoryGoods.setBaseGoodsModelsId(inventoryGoods.getId()); lWhFormInventoryGoods.setBaseGoodsModelsName(inventoryGoods.getBaseGoodsModelsName()); lWhFormInventoryGoods.setInitCounts(inventoryGoods.getInventoryCount()); goodsList.add(lWhFormInventoryGoods); } return this.insert(goodsList); } public int updateInventoryGoods(List inventoryGoodsList) { List goodsList = new ArrayList<>(); for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) { LWhFormInventoryGoods lWhFormInventoryGoods = new LWhFormInventoryGoods(); lWhFormInventoryGoods.setId(inventoryGoods.getId()); Integer inventoryCount = inventoryGoods.getInventoryCount(); Integer realNum = inventoryGoods.getRealNum(); if (realNum != null) { int errorCount = realNum - inventoryCount; lWhFormInventoryGoods.setInventoryCounts(realNum); lWhFormInventoryGoods.setErrorCounts(Math.abs(errorCount)); //盘点结果(1=正常;2=盘盈;3=盘亏) lWhFormInventoryGoods.setInventoryResult((errorCount > 0) ? 2 : (errorCount < 0) ? 3 : 1); // TODO 批量更新 this.update(lWhFormInventoryGoods); // goodsList.add(lWhFormInventoryGoods); } } return 1; } /** * @Description 根据盘点单id删除盘点单物品 * @Author 卢庆阳 * @Date 2023/10/31 */ public void delByFormInventoryId(Long id) { } }