From d62f66a249ee0f0e8393fb1d269d9ba540a8bd91 Mon Sep 17 00:00:00 2001 From: pjb <123456> Date: 星期三, 04 九月 2024 18:49:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/PlaController.java | 75 ++++++++++++++++++++++++++++++++----- 1 files changed, 64 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java index ba3b843..dc23bfc 100644 --- a/src/main/java/com/zy/asrs/controller/PlaController.java +++ b/src/main/java/com/zy/asrs/controller/PlaController.java @@ -3,14 +3,17 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; 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.DateUtils; import com.core.common.R; +import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.GlobleParameter; +import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.*; import com.zy.asrs.utils.PlaExcelListener; import com.zy.asrs.utils.SaasUtils; @@ -18,6 +21,7 @@ import com.zy.common.entity.PlaExcel; import com.zy.common.web.BaseController; import lombok.Synchronized; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +34,7 @@ import java.util.*; @RestController +@Slf4j public class PlaController extends BaseController { @Autowired @@ -46,6 +51,9 @@ private PlaLogService plaLogService; @Autowired private MatService matService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @RequestMapping(value = "/pla/list/auth") @ManagerAuth @@ -60,9 +68,19 @@ wrapper.eq("brand",param.get("brand")); param.remove("brand"); } + // 娌℃湁閫夋嫨鐨勬椂鍊欓粯璁や笉鏄剧ず宸插嚭搴撶殑鐗╂枡 + if (Cools.isEmpty(param.get("status"))) { + wrapper.ne("status", "鍏ㄩ儴鍑哄簱"); + } + + if (!Cools.isEmpty(param.get("batch")) && param.get("batch").toString().contains(",")){ + String[] batchs = param.get("batch").toString().split(","); + wrapper.in("batch",batchs); + param.remove("batch"); + } convert(param, wrapper); - wrapper.orderBy("modify_time",false); + wrapper.orderBy("batch",true).orderBy("package_no" ,true); allLike(Pla.class, param.keySet(), wrapper, condition); return R.ok(plaService.selectPage(new Page<>(curr, limit), wrapper)); } @@ -90,6 +108,7 @@ BeanUtils.copyProperties(plaSave,plaLog); plaLog.setId(null); plaLog.setCreateTime(new Date()); + plaLog.setModifyUser(getUser().getUsername()); plaLogService.insert(plaLog); }); @@ -101,8 +120,8 @@ public R delete(@RequestBody List<Pla> plas) { System.out.println(plas.toString()); plas.forEach(pla -> { - if(!pla.getStatus().equals(GlobleParameter.PLA_STATUS_00) || pla.getStatus().equals(GlobleParameter.PLA_STATUS_0)){ - throw new CoolException("闈炲緟鍏ュ簱鐨勬暟鎹棤娉曡鍒犻櫎"); + if(!pla.getStatus().equals(GlobleParameter.PLA_STATUS_00) && !pla.getStatus().equals(GlobleParameter.PLA_STATUS_0) && !pla.getStatus().equals(GlobleParameter.PLA_STATUS_1)){ + throw new CoolException("宸插叆搴撶殑鏁版嵁鏃犳硶琚垹闄�"); } Pla plaSave = plaService.selectById(pla.getId()); pla.setModifyTime(new Date()); @@ -112,6 +131,7 @@ BeanUtils.copyProperties(plaSave,plaLog); plaLog.setId(null); plaLog.setCreateTime(new Date()); + plaLog.setModifyUser(getUser().getUsername()); plaLogService.insert(plaLog); }); @@ -139,7 +159,11 @@ for (Pla pla : plas){ if(pla.getStockFreeze() == 0){ - throw new CoolException("搴撳瓨宸茶鍐荤粨锛岃閲嶆柊閫夋嫨搴撳瓨"); +// throw new CoolException("搴撳瓨宸茶鍐荤粨锛岃閲嶆柊閫夋嫨搴撳瓨"); + System.out.println(pla.getStockFreezeBy() + "," + getUser().getUsername()); + if(!Cools.eq(pla.getStockFreezeBy(),getUser().getUsername())){ + throw new CoolException("璇ュ簱瀛樺凡琚叾浠栫敤鎴峰喕缁擄紝璇烽噸鏂伴�夋嫨"); + } } allOrderWeight += pla.getOrderWeight(); @@ -162,7 +186,7 @@ plaService.updateById(pla); plaQtyService.insert(plaQty); //鐢熸垚鎷h揣鍗� - addPakOUT(plaQty); + addPakOUT(plaQty,getUserId()); }; @@ -205,7 +229,7 @@ pla.setWeightAnfme(0.0); plaService.updateById(pla); SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,getUser().getUsername(), - null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop()); + null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null); }); return R.ok(); @@ -220,7 +244,8 @@ } for (Pla pla : plas){ if (pla.getStockFreeze() == 0){ - throw new CoolException("搴撳瓨宸茶鍐荤粨锛�"); + continue; +// throw new CoolException("搴撳瓨宸茶鍐荤粨锛�"); } pla.setStockFreeze(0); pla.setStockFreezeBy(getUser().getUsername()); @@ -239,7 +264,8 @@ } for (Pla pla : plas){ if (pla.getStockFreeze() == 1){ - throw new CoolException("搴撲綅鏈喕缁擄紝鏃犻渶瑙e喕"); + continue; +// throw new CoolException("搴撲綅鏈喕缁擄紝鏃犻渶瑙e喕"); } if(!Cools.eq(pla.getStockFreezeBy(),getUser().getUsername())){ throw new CoolException("鏃犳硶瑙e喕鍏朵粬鐢ㄦ埛鍐荤粨鐨勫簱浣�"); @@ -307,8 +333,10 @@ EasyExcel.read(file.getInputStream(), PlaExcel.class, listener).sheet().doRead(); }catch (Exception e){ e.printStackTrace(); - throw new CoolException("瀵煎叆鐨勬暟鎹牸寮忛敊璇紝鍘熷洜锛�" + e.getMessage() + "锛岀" + listener.getIndex() + "锛屾暟鎹牸寮忎笉瀵�"); + int index = listener.getIndex() - 1; + throw new CoolException("瀵煎叆鐨勬暟鎹牸寮忛敊璇紝鍘熷洜锛�" + e.getMessage() + "锛岀" + index + "锛屾暟鎹牸寮忎笉瀵�"); } + log.info("瀵煎叆淇敼淇℃伅杈撳嚭锛�" + listener.getRecordLog()); return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉la鐗╂枡鏁版嵁"); } @@ -324,6 +352,27 @@ res.add(pla); } return R.ok().add(res); + } + + /*************************************** xm-select ***********************************************/ + + // xm-select 鎼滅储鎵瑰彿 + @RequestMapping("/pla/batch/all/get/kv") + @ManagerAuth + public R getMatDataKV(@RequestParam(required = false) String condition) { + Wrapper<Pla> wrapper = new EntityWrapper<Pla>().setSqlSelect("batch") + .andNew().like("batch", condition) + .groupBy("batch") + .orderBy("batch",false); + List<Pla> plas = plaService.selectPage(new Page<Pla>(1, 30), wrapper).getRecords(); + List<KeyValueVo> valueVos = new ArrayList<>(); + for (Pla pla : plas) { + KeyValueVo vo = new KeyValueVo(); + vo.setName(pla.getBatch()); + vo.setValue(pla.getBatch()); + valueVos.add(vo); + } + return R.ok().add(valueVos); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ @@ -343,9 +392,10 @@ } } - private R addPakOUT(PlaQty plaQty){ + @Synchronized + private R addPakOUT(PlaQty plaQty,Long userId){ ManPakOut manPakOut=new ManPakOut(); - manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+System.currentTimeMillis()); + manPakOut.setWrkNo(plaQty.getOrderNo()+"-"+String.valueOf(snowflakeIdWorker.nextId())); manPakOut.setWrkSts((long)1); manPakOut.setAnfme(plaQty.getOrderWeight()); manPakOut.setMaktx(plaQty.getBrand()); @@ -361,6 +411,9 @@ manPakOut.setDocId(plaQty.getOrderDetlId()); manPakOut.setNodeId(plaQty.getId()); manPakOut.setCustName(plaQty.getCustomer()); + manPakOut.setCreateBy(userId); + //棰勮鍙戣揣鏃堕棿 + manPakOut.setSpecs(plaQty.getPakoutTime()); //manPakOut.setNodeId(plaQty.getOrderDetlId()); manPakOutService.insert(manPakOut); return R.ok(); -- Gitblit v1.9.1