|  |  |  | 
|---|
|  |  |  | import com.zy.common.model.TaskDto; | 
|---|
|  |  |  | import com.zy.common.web.BaseController; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.PostMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestParam; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | private ManPakOutService manPakOutService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ManLocDetlService manLocDetlService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private PlaService plaService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private PlaQtyService plaQtyService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/out/pakout/orderDetlIds/auth") | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<PlaQty> plaQties = new ArrayList<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | plaService.queryStock(orderDetl,plaQties); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return R.ok(plaQties); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /* | 
|---|
|  |  |  | Set<String> exist = new HashSet<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (OrderDetl orderDetl : orderDetls) { | 
|---|
|  |  |  | 
|---|
|  |  |  | locDtos.add(locDto); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok().add(locDtos); */ | 
|---|
|  |  |  | return R.ok().add(locDtos); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/out/pakout/auth") | 
|---|
|  |  |  | @ManagerAuth(memo = "订单出库") | 
|---|
|  |  |  | public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | int[][] is=new int[locDtos.size()][2]; | 
|---|
|  |  |  | for (int i=0;i<locDtos.size();i++){ | 
|---|
|  |  |  | LocDto locDto=locDtos.get(locDtos.size()-1-i); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/out/pakout2/auth") | 
|---|
|  |  |  | @ManagerAuth(memo = "生成拣货单") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public synchronized R pakout2(@RequestBody List<PlaQty> plaQties) throws InterruptedException { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (PlaQty plaQty : plaQties){ | 
|---|
|  |  |  | if(Cools.isEmpty(plaQty.getLocNo())){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | plaQtyService.insert(plaQty); | 
|---|
|  |  |  | addPakOUT(plaQty); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Pla pla = plaService.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo()); | 
|---|
|  |  |  | pla.setQtyAnfme(pla.getQtyAnfme() + plaQty.getQtyAnfme()); | 
|---|
|  |  |  | plaService.updateById(pla); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | OrderDetl orderDetl = orderDetlService.selectById(plaQty.getOrderDetlId()); | 
|---|
|  |  |  | orderDetl.setWorkQty(orderDetl.getWorkQty() + plaQty.getQtyAnfme()); | 
|---|
|  |  |  | orderDetlService.updateById(orderDetl); | 
|---|
|  |  |  | orderService.updateSettle(plaQty.getOrderId(),2L,null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /*  int[][] is = new int[locDtos.size()][2]; | 
|---|
|  |  |  | public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException { | 
|---|
|  |  |  | int[][] is = new int[locDtos.size()][2]; | 
|---|
|  |  |  | List<String> matnrs=new ArrayList<>(); | 
|---|
|  |  |  | for (int i = 0; i < locDtos.size(); i++) { | 
|---|
|  |  |  | LocDto locDto = locDtos.get(locDtos.size() - 1 - i); | 
|---|
|  |  |  | 
|---|
|  |  |  | addPakOUT(locDto,uuid).equals(R.ok()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private R addPakOUT(PlaQty plaQty){ | 
|---|
|  |  |  | ManPakOut manPakOut=new ManPakOut(); | 
|---|
|  |  |  | manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis()); | 
|---|
|  |  |  | manPakOut.setWrkSts((long)1); | 
|---|
|  |  |  | manPakOut.setAnfme(plaQty.getQtyAnfme()); | 
|---|
|  |  |  | manPakOut.setLocNo(plaQty.getLocNo()); | 
|---|
|  |  |  | manPakOut.setBatch(plaQty.getBatch()); | 
|---|
|  |  |  | manPakOut.setBarcode(plaQty.getPackageNo()); | 
|---|
|  |  |  | manPakOut.setUuid(String.valueOf(System.currentTimeMillis())); | 
|---|
|  |  |  | manPakOut.setCreateTime(new Date()); | 
|---|
|  |  |  | manPakOut.setUpdateTime(new Date()); | 
|---|
|  |  |  | manPakOut.setCount(0.0); | 
|---|
|  |  |  | manPakOut.setDocNum(plaQty.getOrderNo()); | 
|---|
|  |  |  | manPakOut.setNodeId(plaQty.getOrderDetlId()); | 
|---|
|  |  |  | manPakOutService.insert(manPakOut); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|