| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.modules.farmplant.entity.FarmProductStock; |
| | | import org.springblade.modules.farmplant.service.FarmProductStockService; |
| | | import org.springblade.modules.processInv.entity.ProcessInv; |
| | | import org.springblade.modules.processInv.service.IProcessInvService; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import org.springblade.modules.process.vo.ProcessVO; |
| | | import org.springblade.modules.process.service.IProcessService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 加工记录表 控制器 |
| | |
| | | |
| | | private final IProcessService processService; |
| | | private final FarmProductStockService farmProductStockService; |
| | | private final IProcessInvService processInvService; |
| | | /** |
| | | * 详情 |
| | | */ |
| | |
| | | }else { |
| | | //库存充足,减去相应库存 |
| | | farmProductStockService.stockReduce(process.getSaleNum(),process.getProid()); |
| | | //向加工产品库存表中添加数据 |
| | | ProcessInv processInv = new ProcessInv(); |
| | | processInv.setFpsId(process.getProid()); |
| | | processInv.setProductId(Long.parseLong(process.getProcessId())); |
| | | processInv.setProductInventoryNum(process.getProcessNum()); |
| | | processInv.setStrainId(Long.parseLong(process.getStrainId())); |
| | | processInv.setUpdateUser(process.getCreateUser()); |
| | | processInvService.insertOrUpdate(processInv); |
| | | } |
| | | return R.status(processService.saveOrUpdate(process)); |
| | | } |
| | |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "逻辑删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | //对加工产品库存和农产品库存进行回滚 |
| | | Process process = processService.getById(Long.parseLong(ids)); |
| | | //通过strainId和landId 确定是由哪一个品种库存加工而来 |
| | | FarmProductStock farmProductStock = farmProductStockService.selectBy2Id(process.getStrainId(),process.getLandId()); |
| | | //通过strainId和processId(processId为产品id)确定对应的加工库存 |
| | | ProcessInv processInv = processInvService.selectBy2Id(process.getStrainId(),process.getProcessId()); |
| | | //农产品增加相应库存 |
| | | Double weight = Double.parseDouble(farmProductStock.getWeight())+process.getSaleNum(); |
| | | farmProductStock.setWeight(weight.toString()); |
| | | farmProductStockService.updateById(farmProductStock); |
| | | //加工产品减少对应库存 |
| | | Double num = processInv.getProductInventoryNum()-process.getProcessNum(); |
| | | if (num<=0){ |
| | | //删除对应库存 |
| | | // processInvService.del(processInv.getId()); |
| | | throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足,不能删除数据!")); |
| | | }else { |
| | | //更新库存 |
| | | processInv.setProductInventoryNum(num); |
| | | processInvService.updateById(processInv); |
| | | } |
| | | return R.status(processService.deleteLogic(Func.toLongList(ids))); |
| | | } |
| | | |