| | |
| | | import com.yuanchu.mom.mapper.InsOrderMapper; |
| | | import com.yuanchu.mom.mapper.InsProductMapper; |
| | | import com.yuanchu.mom.mapper.InsSampleMapper; |
| | | import com.yuanchu.mom.mapper.WarehouseHistoryMapper; |
| | | import com.yuanchu.mom.pojo.InsOrder; |
| | | import com.yuanchu.mom.pojo.InsProduct; |
| | | import com.yuanchu.mom.pojo.InsSample; |
| | | import com.yuanchu.mom.pojo.WarehouseHistory; |
| | | import com.yuanchu.mom.service.InsProductService; |
| | | import com.yuanchu.mom.utils.QueryWrappers; |
| | | import com.yuanchu.mom.vo.InsOrderPlanVO; |
| | |
| | | private InsOrderMapper insOrderMapper; |
| | | |
| | | private InsSampleMapper insSampleMapper; |
| | | |
| | | private WarehouseHistoryMapper warehouseHistoryMapper; |
| | | |
| | | @Override |
| | | public int selectOrderManDay(Integer orderId) { |
| | |
| | | @Override |
| | | public void checkUpdate(Integer orderId, Integer state) { |
| | | InsOrder insOrder = insOrderMapper.selectById(orderId); |
| | | //通过 |
| | | if (state == 1) { |
| | | List<String> list = new ArrayList<>(); |
| | | try { |
| | |
| | | if (insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()).equals(ids)) { |
| | | //如果该检验单下的所有项目全部都撤销,那么这个单子也需要撤销 |
| | | insOrder.setState(3); |
| | | } |
| | | else { |
| | | //出入库记录全部删掉 |
| | | warehouseHistoryMapper.delete(Wrappers.<WarehouseHistory>lambdaQuery().in(WarehouseHistory::getInsSampleId, collect)); |
| | | //全部撤销,样品和项目不能删掉,不然检验下单的撤销没有数据 |
| | | } else { |
| | | List<InsProduct> products = insProductMapper.selectBatchIds(ids); |
| | | //首先根据选择的项目id进行撤销项目 |
| | | updateBatchById(products.stream().map(insProduct -> { |
| | | insProduct.setState(0); |
| | | return insProduct; |
| | | }).collect(Collectors.toList())); |
| | | //如果该检验单某个样品下的项目全部都撤销了,那么这个样品也需要删掉 |
| | | //如果该检验单某个样品下的项目全部都撤销了,那么这个样品的出入库记录也需要删掉 |
| | | List<Integer> sampleIds = products.stream().map(InsProduct::getInsSampleId).distinct().collect(Collectors.toList()); |
| | | //项目删掉 |
| | | insProductMapper.deleteBatchIds(ids); |
| | | for (Integer sampleId : sampleIds) { |
| | | Long count = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() |
| | | .eq(InsProduct::getInsSampleId, sampleId) |
| | | .eq(InsProduct::getState, 1)); |
| | | if(count<=0){ |
| | | if (count <= 0) { |
| | | //出入库记录全部删掉 |
| | | warehouseHistoryMapper.delete(Wrappers.<WarehouseHistory>lambdaQuery().eq(WarehouseHistory::getInsSampleId, sampleId)); |
| | | //对应的样品删掉 |
| | | insSampleMapper.deleteById(sampleId); |
| | | } |
| | | } |
| | | } |
| | | //insProductMapper.updateInspected(id); |
| | | } |
| | | //不通过 |
| | | insOrder.setIsRevocation(0); |
| | | insOrder.setIsRevocation(state); |
| | | insOrderMapper.updateById(insOrder); |
| | | |
| | | } |