| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.LocMast; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.service.LocDetlService; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | |
| | | @Deprecated |
| | | @PostMapping("/grouping") |
| | |
| | | * 返回库存利用率 |
| | | */ |
| | | @Synchronized |
| | | @PostMapping("/stock/userd/v1") |
| | | @PostMapping("/stock/used/v1") |
| | | public R getRate(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) OpenOrderCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | int i = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", "O")); |
| | | int i1 = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", Arrays.asList("D", "F", "P", "Q", "R", "S"))); |
| | | BigDecimal dividend = new BigDecimal(i1); |
| | | BigDecimal divisor = new BigDecimal(i1 - i); |
| | | BigDecimal quotient = dividend.divide(divisor); |
| | | // int i1 = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", Arrays.asList("D", "F", "P", "Q", "R", "S"))); |
| | | // BigDecimal dividend = new BigDecimal(i1 - i); |
| | | // BigDecimal divisor = new BigDecimal(i1); |
| | | // BigDecimal quotient = dividend.divide(divisor,4, BigDecimal.ROUND_HALF_UP); |
| | | // 在库率=(总数-空库位数)/总数 |
| | | BigDecimal quotient = BigDecimal.valueOf(1200 - i) |
| | | .divide(BigDecimal.valueOf(1200), 4, RoundingMode.HALF_UP); |
| | | return R.ok().add(quotient); |
| | | } |
| | | |
| | | |
| | | @Synchronized |
| | | @PostMapping("/stock/used/v3") |
| | | public R getRate2(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) LocMast param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (param.getRow1() != null) { |
| | | int i = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", "O").eq("row1", param.getRow1())); |
| | | int i2 = locMastService.selectCount(new EntityWrapper<LocMast>().eq("row1", param.getRow1())); |
| | | // 在库率=(总数-空库位数)/总数 |
| | | BigDecimal quotient = BigDecimal.valueOf(i2 - i) |
| | | .divide(BigDecimal.valueOf(i2), 4, RoundingMode.HALF_UP); |
| | | return R.ok().add(quotient); |
| | | } else { |
| | | int i = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", "O")); |
| | | int i2 = locMastService.selectCount(new EntityWrapper<LocMast>()); |
| | | // 在库率=(总数-空库位数)/总数 |
| | | BigDecimal quotient = BigDecimal.valueOf(i2 - i) |
| | | .divide(BigDecimal.valueOf(i2), 4, RoundingMode.HALF_UP); |
| | | return R.ok().add(quotient); |
| | | } |
| | | } |
| | | |
| | | |
| | | @PostMapping(value = "/loc/info") |
| | | @Synchronized |
| | | public R list(@RequestHeader(required = false) String appkey, @RequestBody(required = false) LocMast param) { |
| | | auth(appkey, param, request); |
| | | LocMast locMast = locMastService.selectById(param.getLocNo()); |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("status", locMast.getLocSts()); |
| | | map.put("data", locDetls); |
| | | return R.ok(map); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | // public static void main(String[] args) { |
| | | // // 1 |
| | | // System.out.println("======================================"); |
| | | // OpenOrderPakinParam param = new OpenOrderPakinParam(); |
| | | // param.setOrderNo(String.valueOf(new SnowflakeIdWorker().nextId())); |
| | | // param.setOrderType("打包上线单"); |
| | | // param.setOrderTime(DateUtils.convert(new Date())); |
| | | // List<DetlDto> orderDetails = new ArrayList<>(); |
| | | // param.setOrderDetails(orderDetails); |
| | | // for (int i = 0; i < 3; i++) { |
| | | // DetlDto detlDto = new DetlDto(locDto); |
| | | // switch (i) { |
| | | // case 0: |
| | | // detlDto.setMatnr("MDH020030530"); |
| | | // detlDto.setBatch("500"); |
| | | // detlDto.setAnfme(18.0); |
| | | // break; |
| | | // case 1: |
| | | // detlDto.setMatnr("MDH020016416"); |
| | | // detlDto.setBatch("500"); |
| | | // detlDto.setAnfme(32.0); |
| | | // break; |
| | | // case 2: |
| | | // detlDto.setMatnr("LSH90152025"); |
| | | // detlDto.setAnfme(50.0); |
| | | // break; |
| | | // default: |
| | | // break; |
| | | // } |
| | | // orderDetails.add(detlDto); |
| | | // } |
| | | // System.out.println(JSON.toJSONString(param)); |
| | | // // 2 |
| | | // System.out.println("======================================"); |
| | | // OpenOrderCompleteParam param1 = new OpenOrderCompleteParam(); |
| | | // param1.setOrderNo("963001846497017856"); |
| | | // System.out.println(JSON.toJSONString(param1)); |
| | | // } |
| | | |
| | | } |