src/main/java/com/zy/asrs/controller/MobileController.java
@@ -1,7 +1,9 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; @@ -11,6 +13,7 @@ import com.zy.asrs.entity.param.MobileAdjustParam; import com.zy.asrs.entity.result.MobileAdjustResult; import com.zy.asrs.service.*; import com.zy.common.model.DetlDto; import com.zy.common.model.WrkDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; @@ -161,6 +164,13 @@ public R comb(@RequestBody CombParam combParam){ mobileService.comb(combParam, getUserId()); return R.ok("组托成功"); } @RequestMapping("/comb/2auth") @ManagerAuth(memo = "组托") public R comb2(@RequestBody CombParam combParam){ mobileService.pikingToFull2(1); return R.ok(mobileService.pikingToFull2(3732)); } @RequestMapping("/pack/get/auth") @@ -409,7 +419,20 @@ public synchronized R pickAuth(@RequestBody String barcode){ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); return R.ok().add(wrkDetls); ArrayList<WrkDetl> resultwrkDetls = new ArrayList<>(); for (WrkDetl wrkDetl : wrkDetls) { if (isJSON(wrkDetl.getOrderNo())) { JSON.parseArray(wrkDetl.getOrderNo(), DetlDto.class).forEach(detlDto -> { WrkDetl clone = wrkDetl.clone(); clone.setOrderNo(detlDto.getOrderNo()); clone.setAnfme(detlDto.getAnfme()); resultwrkDetls.add(clone); }); } else { resultwrkDetls.add(wrkDetl); } } return R.ok().add(resultwrkDetls); } @RequestMapping("/order/search/orderNo/auth/v2") src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,8 +10,12 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.WaitPakin; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.service.WaitPakinService; import com.zy.asrs.service.WrkMastService; import com.zy.common.web.BaseController; @@ -31,6 +35,12 @@ @Autowired private WrkMastService wrkMastService; @Autowired private OrderService orderService; @Autowired private OrderDetlService orderDetlService; @RequestMapping(value = "/waitPakin/{id}/auth") @ManagerAuth @@ -95,7 +105,21 @@ for (WaitPakin entity : list){ WrkMast wrkMast = wrkMastService.selectByBarcode(entity.getBarcode()); if (Cools.isEmpty(wrkMast)) { waitPakinService.delete(new EntityWrapper<>(entity)); Order order = orderService.selectByNo(entity.getOrderNo()); if (!Cools.isEmpty(order)) { String matnr = entity.getMatnr(); Double anfme = entity.getAnfme(); List<OrderDetl> orderDetls = orderService.selectTotalDetls(order.getId()); for (OrderDetl orderDetl : orderDetls) { if (matnr.equals(orderDetl.getMatnr())) { orderDetl.setQty(orderDetl.getQty() - anfme); orderDetlService.updateById(orderDetl); } } waitPakinService.delete(new EntityWrapper<>(entity)); } else { waitPakinService.delete(new EntityWrapper<>(entity)); } } else { return R.error("工作档数据已存在,无法删除!!"); } src/main/java/com/zy/asrs/controller/WrkDetlController.java
@@ -1,5 +1,6 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; @@ -12,14 +13,12 @@ import com.core.common.R; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.service.WrkDetlService; import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.*; @RestController public class WrkDetlController extends BaseController { @@ -50,7 +49,22 @@ } else { wrapper.orderBy("appe_time", false); } return R.ok(wrkDetlService.selectPage(new Page<>(curr, limit), wrapper)); Page<WrkDetl> page = wrkDetlService.selectPage(new Page<>(curr, limit), wrapper); List<WrkDetl> resultRecords = new ArrayList<>(); for (WrkDetl record : page.getRecords()) { if (isJSON(record.getOrderNo())) { JSON.parseArray(record.getOrderNo(), DetlDto.class).forEach( detlDto -> { WrkDetl clone = record.clone(); clone.setOrderNo(detlDto.getOrderNo()); clone.setAnfme(detlDto.getAnfme()); resultRecords.add(clone); }); } else { resultRecords.add(record); } } return R.ok(page.setRecords(resultRecords)); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -17,7 +17,7 @@ @Data @TableName("asr_wrk_detl") public class WrkDetl implements Serializable { public class WrkDetl implements Serializable, Cloneable { private static final long serialVersionUID = 1L; @@ -404,4 +404,15 @@ } } @Override public WrkDetl clone() { try { return (WrkDetl) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return null; } } src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -19,6 +19,8 @@ List<OrderDetl> selectWorkingDetls(Long orderId); List<OrderDetl> selectTotalDetls(Long orderId); List<OrderDetl> getPakoutPage(Map<String, Object> map); Integer getPakoutPageCount(Map<String, Object> map); src/main/java/com/zy/asrs/service/MobileService.java
@@ -1,7 +1,10 @@ package com.zy.asrs.service; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; import java.util.List; public interface MobileService { @@ -20,5 +23,6 @@ void packComb(CombParam param, Long userId); void pikingToFull(String s); List<WrkDetl> pikingToFull2(Integer wrkNo); } src/main/java/com/zy/asrs/service/OrderService.java
@@ -15,6 +15,8 @@ List<OrderDetl> selectWorkingDetls(Long orderId); List<OrderDetl> selectTotalDetls(Long orderId); boolean updateSettle(Long orderId, Long settle, Long userId); void checkComplete(String orderNo); src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -3,10 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; @@ -557,4 +554,80 @@ public void pikingToFull(String barcode) { wrkMastService.selectByBarcode(barcode); } @Override @Transactional public List<WrkDetl> pikingToFull2(Integer wrkNo) { List<WrkDetl> wrkDetlsNew= new ArrayList<WrkDetl>(); List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo); for (WrkDetl wrkDetl:wrkDetls){ String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); if (!Cools.isEmpty(orderNos) && orderNos.length!=0) { Double anfme = wrkDetl.getAnfme(); for (String orderNo : orderNos) { OrderDetl orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch()); if (orderDetl == null) { orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), null); if (orderDetl == null) { log.error("ww"); return wrkDetlsNew; } } if (orderDetl.getAnfme() <= anfme) { WrkDetl wrkDetl1 = new WrkDetl(); wrkDetl1.sync(wrkDetl); wrkDetl1.setOrderNo(orderNo); wrkDetl1.setAnfme(anfme); wrkDetlsNew.add(wrkDetl1); anfme = anfme - orderDetl.getAnfme(); } else { WrkDetl wrkDetl1 = new WrkDetl(); wrkDetl1.sync(wrkDetl); wrkDetl1.setOrderNo(orderNo); wrkDetl1.setAnfme(anfme); wrkDetlsNew.add(wrkDetl1); } } }else { wrkDetlsNew.add(wrkDetl); } } return wrkDetlsNew; } private static String[] GetOrderNo(String orderNo) { String[] s3 = orderNo.split("\""); String[] s = new String[(s3.length - 1) / 6]; if (!Cools.isEmpty(s3)){ int i = 0; int j = 0; for (String ss : s3) { if (ss.equals("orderNo")) { s[i] = s3[j + 2]; i++; } j++; } }else { s=null; } return s; } private String[] GetAnfme(String orderNo) { String[] s3 = orderNo.split("\""); String[] s = new String[(s3.length - 1) / 6]; int i = 0; int j = 0; for (String ss : s3) { if (ss.equals("anfme")) { String[] s4 = s3[j + 1].split(":"); String[] s5 = s4[1].split("\\."); s[i] = s5[0]; i++; } j++; } return s; } } src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -60,6 +60,11 @@ } @Override public List<OrderDetl> selectTotalDetls(Long orderId) { return orderDetlMapper.selectTotalDetls(orderId); } @Override public boolean updateSettle(Long orderId, Long settle, Long userId) { return this.baseMapper.updateSettle(orderId, settle, userId) > 0; } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1664,7 +1664,7 @@ for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())){ String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); if (!Cools.isEmpty(orderNos)){ if (!Cools.isEmpty(orderNos) && orderNos.length!=0){ String[] anfmes = GetAnfme(wrkDetl.getOrderNo()); int i = 0; for (String orderNo : orderNos) { src/main/resources/mapper/OrderDetlMapper.xml
@@ -82,6 +82,12 @@ and qty < anfme </select> <select id="selectTotalDetls" resultMap="BaseResultMap"> select * from man_order_detl where 1=1 and order_id = #{orderId} </select> <sql id="pakOutPageCondition"> <if test="order_id!=null and order_id!='' "> and mod.order_id = #{order_id} src/main/webapp/views/wrkMast/wrkDetl.html
@@ -71,6 +71,7 @@ statusCode: 200 }, done: function(res, curr, count) { console.log(res) if (res.code === 403) { top.location.href = baseUrl+"/"; }