From 83d6be1ca1ee0197993e76e46d4e99e805c057b0 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期五, 14 三月 2025 09:30:04 +0800 Subject: [PATCH] #初始化 --- src/main/java/com/zy/asrs/service/RowLastnoTypeService.java | 8 src/main/java/com/zy/asrs/controller/LocMastController.java | 2 src/main/java/com/zy/common/model/TaskDto.java | 132 ++++++---- src/main/java/com/zy/common/web/WcsController.java | 2 pom.xml | 2 src/main/java/com/zy/asrs/controller/WorkController.java | 14 src/main/java/com/zy/asrs/controller/StaDescController.java | 24 + src/main/java/com/zy/asrs/entity/RowLastnoType.java | 157 +++++++++++++ src/main/java/com/zy/asrs/utils/Utils.java | 84 ++++-- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 6 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 164 ++++++------ src/main/java/com/zy/common/model/DetlDto.java | 82 ++--- src/main/webapp/static/js/common.js | 2 src/main/java/com/zy/common/service/CommonService.java | 14 src/main/resources/license.lic | 0 src/main/resources/application.yml | 8 16 files changed, 462 insertions(+), 239 deletions(-) diff --git a/pom.xml b/pom.xml index 3b13975..7fd29b4 100644 --- a/pom.xml +++ b/pom.xml @@ -119,7 +119,7 @@ <build> - <finalName>xgmFlwms</finalName> + <finalName>tzglasrs</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java index 2d82d5e..59bf434 100644 --- a/src/main/java/com/zy/asrs/controller/LocMastController.java +++ b/src/main/java/com/zy/asrs/controller/LocMastController.java @@ -176,7 +176,7 @@ @ManagerAuth(memo = "鍒濆鍖栧簱浣�") // @Transactional public R init(LocMastInitParam param) { - List<LocMast> list = new ArrayList<>(); + List<LocMast> list = new ArrayList<>(); for (int r=param.getStartRow(); r<=param.getEndRow(); r++){ for (int b=param.getStartBay(); b<=param.getEndBay(); b++) { for (int l=param.getStartLev(); l<=param.getEndLev(); l++) { diff --git a/src/main/java/com/zy/asrs/controller/StaDescController.java b/src/main/java/com/zy/asrs/controller/StaDescController.java index c743311..15b5713 100644 --- a/src/main/java/com/zy/asrs/controller/StaDescController.java +++ b/src/main/java/com/zy/asrs/controller/StaDescController.java @@ -18,6 +18,8 @@ import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -25,6 +27,7 @@ @RestController public class StaDescController extends BaseController { + private static final Logger log = LoggerFactory.getLogger(StaDescController.class); @Autowired private StaDescService staDescService; @@ -34,7 +37,6 @@ @RequestMapping(value = "/staDesc/init/auth") @ManagerAuth(memo = "鍒濆鍖栫珯鐐硅矾寰�") public R init(StaDescInitParam param) { - SqlSession sqlSession = null; try{ if (param.getTypeDesc()==1){ staDescService.delete(new EntityWrapper<>()); @@ -42,7 +44,7 @@ String[] startStaList = param.getStartStaList().split(";"); String[] endStaList = param.getEndStaList().split(";"); List<StaDesc> staDescList = new ArrayList<>(); - sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH,false); + SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH,false); StaDescMapper sqlSessionMapper = sqlSession.getMapper(StaDescMapper.class); for (String startSta : startStaList){ for (String endSta : endStaList){ @@ -64,24 +66,28 @@ staDesc.setModiTime(new Date()); staDesc.setAppeUser(getUserId()); staDesc.setAppeTime(new Date()); - sqlSessionMapper.insert(staDesc); // staDescList.add(staDesc); + sqlSessionMapper.insert(staDesc); + } } } - sqlSession.flushStatements(); - sqlSession.clearCache(); - + try{ + sqlSession.commit(); + sqlSession.close(); + }catch (Exception e){ + log.error("鍒濆鍖栫珯鐐硅矾寰勫紓甯�===>sql寮傚父锛歿}",e.getMessage()); + } // staDescService.insertBatch(staDescList); }catch (Exception e){ - return R.error(e.getMessage()); - }finally { - sqlSession.close(); + log.error("鍒濆鍖栫珯鐐硅矾寰勫紓甯革細{}",e.getMessage()); + return R.error("鍒濆鍖栫珯鐐硅矾寰勫紓甯革細"+e.getMessage()); } return R.ok("ok1").add("ok2"); } + @RequestMapping(value = "/staDesc/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java index fc62677..8b6a223 100644 --- a/src/main/java/com/zy/asrs/controller/WorkController.java +++ b/src/main/java/com/zy/asrs/controller/WorkController.java @@ -58,13 +58,13 @@ map.put("desc", siteId + "锛堝叏鏉垮嚭搴撳彛锛�"); result.add(map); } -// List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103); -// for (Integer siteId : pickOutSite) { -// Map<String, Object> map = new HashMap<>(); -// map.put("siteId", siteId); -// map.put("desc", siteId + "锛堟嫞鏂欏嚭搴撳彛锛�"); -// result.add(map); -// } + List<Integer> pickOutSite = basDevpService.getAvailableOutSite(103); + for (Integer siteId : pickOutSite) { + Map<String, Object> map = new HashMap<>(); + map.put("siteId", siteId); + map.put("desc", siteId + "锛堟嫞鏂欏嚭搴撳彛锛�"); + result.add(map); + } return R.ok().add(result); } diff --git a/src/main/java/com/zy/asrs/entity/RowLastnoType.java b/src/main/java/com/zy/asrs/entity/RowLastnoType.java new file mode 100644 index 0000000..e3a822d --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/RowLastnoType.java @@ -0,0 +1,157 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; +import com.core.common.SpringUtils; +import com.zy.system.service.UserService; +import com.zy.system.entity.User; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("asr_row_lastno_type") +public class RowLastnoType implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 绫诲埆 + */ + @ApiModelProperty(value= "绫诲埆") + @TableId(value = "id", type = IdType.INPUT) + private Integer id; + + /** + * 瑙勫垯绠�杩� + */ + @ApiModelProperty(value= "瑙勫垯绠�杩�") + @TableField("type_name") + private String typeName; + + /** + * 琛ュ厖 + */ + @ApiModelProperty(value= "琛ュ厖") + private String memo; + + /** + * 鍒涘缓浜哄憳 + */ + @ApiModelProperty(value= "鍒涘缓浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 鍒涘缓鏃堕棿 + */ + @ApiModelProperty(value= "鍒涘缓鏃堕棿") + @TableField("modi_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date modiTime; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("appe_user") + private Long appeUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("appe_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date appeTime; + + /** + * 搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡 + */ + @ApiModelProperty(value= "搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡 ") + private Integer type; + + public RowLastnoType() {} + + public RowLastnoType(Integer id,String typeName,String memo,Long modiUser,Date modiTime,Long appeUser,Date appeTime,Integer type) { + this.id = id; + this.typeName = typeName; + this.memo = memo; + this.modiUser = modiUser; + this.modiTime = modiTime; + this.appeUser = appeUser; + this.appeTime = appeTime; + this.type = type; + } + +// RowLastnoType rowLastnoType = new RowLastnoType( +// null, // 绫诲埆[闈炵┖] +// null, // 瑙勫垯绠�杩� +// null, // 琛ュ厖 +// null, // 鍒涘缓浜哄憳 +// null, // 鍒涘缓鏃堕棿 +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿 +// null // 搴撳瀷 +// ); + + public String getModiUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.modiUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public String getAppeUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.appeUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + + public String getType$(){ + if (null == this.type){ return null; } + switch (this.type){ + case 0: + return "鏍囧噯鍫嗗灈鏈哄簱"; + case 1: + return "骞冲簱"; + case 2: + return "绌挎鏉�"; + case 3: + return "鍥涘悜杞�"; + case 4: + return "AGV"; + case 5: + return "鏈煡"; + default: + return String.valueOf(this.type); + } + } + + +} diff --git a/src/main/java/com/zy/asrs/service/RowLastnoTypeService.java b/src/main/java/com/zy/asrs/service/RowLastnoTypeService.java new file mode 100644 index 0000000..bc03f13 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/RowLastnoTypeService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.RowLastnoType; +import com.baomidou.mybatisplus.service.IService; + +public interface RowLastnoTypeService extends IService<RowLastnoType> { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 0f8a0f9..1d0102f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -105,94 +105,94 @@ Date now = new Date(); // 鏃犲崟缁勬墭 -// if (Cools.isEmpty(param.getOrderNo())) { -// -// // 鐢熸垚鍏ュ簱閫氱煡妗� -// List<DetlDto> detlDtos = new ArrayList<>(); -// param.getCombMats().forEach(elem -> { -// DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); -// if (DetlDto.has(detlDtos, detlDto)) { -// DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); -// assert one != null; -// one.setAnfme(one.getAnfme() + detlDto.getAnfme()); -// } else { -// detlDtos.add(detlDto); -// } -// }); -// -// -// for (DetlDto detlDto : detlDtos) { -// Mat mat = matService.selectByMatnr(detlDto.getMatnr()); -// if (Cools.isEmpty(mat)) { -// throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); -// } -// WaitPakin waitPakin = new WaitPakin(); -// waitPakin.sync(mat); -// waitPakin.setBatch(detlDto.getBatch()); -// waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� -// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� -// waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 -// waitPakin.setStatus("Y"); // 鐘舵�� -// waitPakin.setAppeUser(userId); -// waitPakin.setAppeTime(now); -// waitPakin.setModiUser(userId); -// waitPakin.setModiTime(now); -// if (!waitPakinService.insert(waitPakin)) { -// throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); -// } -// } -// // 鍏宠仈缁勬墭 -// } else { + if (Cools.isEmpty(param.getOrderNo())) { - Order order = orderService.selectOne(new EntityWrapper<Order>().eq("temp1", param.getOrderNo())); - if (Cools.isEmpty(order) || order.getSettle() > 2) { - throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); - } - // 鐢熸垚鍏ュ簱閫氱煡妗� - List<DetlDto> detlDtos = new ArrayList<>(); - param.getCombMats().forEach(elem -> { + // 鐢熸垚鍏ュ簱閫氱煡妗� + List<DetlDto> detlDtos = new ArrayList<>(); + param.getCombMats().forEach(elem -> { + DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); + if (DetlDto.has(detlDtos, detlDto)) { + DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch()); + assert one != null; + one.setAnfme(one.getAnfme() + detlDto.getAnfme()); + } else { + detlDtos.add(detlDto); + } + }); - // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 - //OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getAnfme() ); - OrderDetl orderDetl = orderDetlService.selectById(elem.getDetlId()); - if (elem.getAnfme() > orderDetl.getEnableQty()) { - throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); + + for (DetlDto detlDto : detlDtos) { + Mat mat = matService.selectByMatnr(detlDto.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + WaitPakin waitPakin = new WaitPakin(); + waitPakin.sync(mat); + waitPakin.setBatch(detlDto.getBatch()); + waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� + waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� + waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺 + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setAppeUser(userId); + waitPakin.setAppeTime(now); + waitPakin.setModiUser(userId); + waitPakin.setModiTime(now); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } } - // 淇敼璁㈠崟浣滀笟鏁伴噺 - if (!orderDetlService.increaseWorkQty(orderDetl, elem.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); - } + // 鍏宠仈缁勬墭 + } else { - Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); - } - WaitPakin waitPakin = new WaitPakin(); - waitPakin.sync(mat); - waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 - waitPakin.setBatch(orderDetl.getBatch()); // 搴忓垪鐮� - waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� - waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� - waitPakin.setAnfme(elem.getAnfme()); // 鏁伴噺 - waitPakin.setStatus("Y"); // 鐘舵�� - waitPakin.setAppeUser(userId); - waitPakin.setAppeTime(now); - waitPakin.setModiUser(userId); - waitPakin.setModiTime(now); + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("temp1", param.getOrderNo())); + if (Cools.isEmpty(order) || order.getSettle() > 2) { + throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); + } + // 鐢熸垚鍏ュ簱閫氱煡妗� + List<DetlDto> detlDtos = new ArrayList<>(); + param.getCombMats().forEach(elem -> { - waitPakin.setBatch(orderDetl.getBatch()); - waitPakin.setSPgNO(orderDetl.getSPgNO()); - waitPakin.setOutOrderNo(orderDetl.getOutOrderNo()); - waitPakin.setProType(orderDetl.getProType()); - waitPakin.setLuHao(orderDetl.getLuHao()); - waitPakin.setPacking(orderDetl.getPacking()); - if (!waitPakinService.insert(waitPakin)) { - throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); - } - }); + // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 + //OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getAnfme() ); + OrderDetl orderDetl = orderDetlService.selectById(elem.getDetlId()); + if (elem.getAnfme() > orderDetl.getEnableQty()) { + throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); + } + // 淇敼璁㈠崟浣滀笟鏁伴噺 + if (!orderDetlService.increaseWorkQty(orderDetl, elem.getAnfme())) { + throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); + } - orderService.updateSettle(order.getId(), 2L, userId); - // } + Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + WaitPakin waitPakin = new WaitPakin(); + waitPakin.sync(mat); + waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 + waitPakin.setBatch(orderDetl.getBatch()); // 搴忓垪鐮� + waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� + waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� + waitPakin.setAnfme(elem.getAnfme()); // 鏁伴噺 + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setAppeUser(userId); + waitPakin.setAppeTime(now); + waitPakin.setModiUser(userId); + waitPakin.setModiTime(now); + + waitPakin.setBatch(orderDetl.getBatch()); + waitPakin.setSPgNO(orderDetl.getSPgNO()); + waitPakin.setOutOrderNo(orderDetl.getOutOrderNo()); + waitPakin.setProType(orderDetl.getProType()); + waitPakin.setLuHao(orderDetl.getLuHao()); + waitPakin.setPacking(orderDetl.getPacking()); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } + }); + + orderService.updateSettle(order.getId(), 2L, userId); + } } diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 7eb3e29..e8d32e1 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -532,10 +532,10 @@ .eq("stn_no", param.getOutSite()) .eq("crn_no", locMast.getCrnNo()); StaDesc staDesc = staDescService.selectOne(wrapper); - Integer sourceStaNo = staDesc.getCrnStn(); - if (Cools.isEmpty(sourceStaNo)) { - throw new CoolException("妫�绱㈡簮绔欏け璐�"); + if (Cools.isEmpty(staDesc)) { + throw new CoolException("涓嶅瓨鍦ㄨ绌烘澘鍑哄簱璺緞锛岃鏇存崲绔欑偣"); } + Integer sourceStaNo = staDesc.getCrnStn(); Date now = new Date(); // 淇濆瓨宸ヤ綔妗� WrkMast wrkMast = new WrkMast(); diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 2109368..1b71caa 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -350,45 +350,77 @@ return necessaryParameters; } - //缁忓吀鍗曚几搴撲綅 +// //缁忓吀鍗曚几搴撲綅 +// public static int[] LocNecessaryParametersDoubleExtension2(Integer whsType, Integer curRow, Integer crnNumber) { +// int[] necessaryParameters = new int[]{0, 0, 0, 0}; +// RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); +// RowLastno rowLastno = rowLastnoService.selectById(whsType); +// Integer sRow = rowLastno.getsRow(); +// Integer sCrnNo = rowLastno.getsCrnNo(); +// if (BooleanWhsTypeSta(whsType)) { +// necessaryParameters[0] = crnNumber; // 杞娆℃暟 +// //婊℃澘姝e父鍏ュ簱 +// if (curRow.equals(crnNumber * 2 + sRow - 1)) { +// necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 +// necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 +// necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 +// } else if (curRow.equals((crnNumber - 1) * 2 + sRow)) { +// necessaryParameters[1] = sRow+1; //curRow 鏈�娣卞簱浣嶆帓 +// necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 +// necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 +// } else { +// curRow = curRow + 2; +// if (curRow < sRow || curRow > (crnNumber * 2 + sRow - 1)) { +// throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); +// } +// if ((curRow - sRow) % 2 == 0) { +// necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 +// necessaryParameters[2] = (curRow - sRow) / 2 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 +// necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 +// } else if ((curRow - sRow + 1) % 2 == 0) { +// necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 +// necessaryParameters[2] = (curRow - sRow - 1) / 2 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 +// necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 +// } else { +// throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); +// } +// } +// } +// return necessaryParameters; +// } + + // 缁忓吀鍗曚几搴撲綅 public static int[] LocNecessaryParametersDoubleExtension2(Integer whsType, Integer curRow, Integer crnNumber) { int[] necessaryParameters = new int[]{0, 0, 0, 0}; RowLastnoService rowLastnoService = SpringUtils.getBean(RowLastnoService.class); RowLastno rowLastno = rowLastnoService.selectById(whsType); Integer sRow = rowLastno.getsRow(); Integer sCrnNo = rowLastno.getsCrnNo(); + + // 鍒ゆ柇浠撳簱绫诲瀷鏄惁婊¤冻瑕佹眰 if (BooleanWhsTypeSta(whsType)) { necessaryParameters[0] = crnNumber; // 杞娆℃暟 - //婊℃澘姝e父鍏ュ簱 - if (curRow.equals(crnNumber * 2 + sRow - 1)) { - necessaryParameters[1] = sRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow; //nearRow 鏈�娴呭簱浣嶆帓 - } else if (curRow.equals((crnNumber - 1) * 2 + sRow)) { - necessaryParameters[1] = sRow+1; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = sRow+1; //nearRow 鏈�娴呭簱浣嶆帓 - } else { - curRow = curRow + 2; - if (curRow < sRow || curRow > (crnNumber * 2 + sRow - 1)) { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } - if ((curRow - sRow) % 2 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow) / 2 + sCrnNo ; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 - } else if ((curRow - sRow + 1) % 2 == 0) { - necessaryParameters[1] = curRow; //curRow 鏈�娣卞簱浣嶆帓 - necessaryParameters[2] = (curRow - sRow - 1) / 2 + sCrnNo; //crnNo 鍫嗗灈鏈哄彿 - necessaryParameters[3] = curRow ; //nearRow 鏈�娴呭簱浣嶆帓 - } else { - throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); - } + + // 璁$畻鏈�娣卞簱浣嶆帓鍜屾渶娴呭簱浣嶆帓 + int minRow = sRow; // 璧峰鎺掑彿 + int maxRow = sRow + 7; // 缁堟鎺掑彿 (8鎺�) + + // 妫�鏌ユ帓鍙疯寖鍥存槸鍚﹀悎娉� + if (curRow < minRow || curRow > maxRow) { + throw new CoolException("搴撲綅鎺掑彿寮傚父锛氭帓鍙凤細" + curRow); } + + // 璁$畻鍫嗗灈鏈哄彿鍜屽搴旀帓鍙� + int crnOffset = (curRow - minRow) / 2; // 璁$畻褰撳墠鍫嗗灈鏈哄亸绉婚噺 + necessaryParameters[1] = curRow; // curRow: 褰撳墠璐ф灦鎺掑彿 + necessaryParameters[2] = sCrnNo + crnOffset; // crnNo: 鍫嗗灈鏈哄彿 + necessaryParameters[3] = curRow; // nearRow: 褰撳墠璐ф灦鎺掑彿 } + return necessaryParameters; } + //缁忓吀鍗曞弻浼稿簱浣� 宸﹀崟鍙冲弻(灏忓崟澶у弻) public static int[] LocNecessaryParametersDoubleExtension3(Integer whsType, Integer curRow, Integer crnNumber) { int[] necessaryParameters = new int[]{0, 0, 0, 0}; diff --git a/src/main/java/com/zy/common/model/DetlDto.java b/src/main/java/com/zy/common/model/DetlDto.java index f416898..650e884 100644 --- a/src/main/java/com/zy/common/model/DetlDto.java +++ b/src/main/java/com/zy/common/model/DetlDto.java @@ -2,8 +2,6 @@ import com.core.common.Cools; import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.entity.param.FullStoreParam; -import com.zy.asrs.utils.MatCompareUtils; import lombok.Data; import java.util.List; @@ -23,74 +21,64 @@ private Double anfme; - private String sPgNO; - - private String outOrderNo; - - private String luHao; - - private String packing; - - private String proType; - - - public DetlDto(LocDto locDto) { - this.matnr = locDto.getMatnr(); - this.batch = locDto.getBatch(); - this.sPgNO = locDto.getSPgNO(); - this.outOrderNo = locDto.getOutOrderNo(); - this.luHao = locDto.getLuHao(); - this.packing = locDto.getPacking(); - this.proType = locDto.getProType(); - this.orderNo = locDto.getOrderNo(); - this.anfme = locDto.getAnfme(); - + public DetlDto() { } + public DetlDto(String matnr, Double anfme) { + this.matnr = matnr; + this.anfme = anfme; + } + public DetlDto(String matnr, String batch) { + this.matnr = matnr; + this.batch = batch; + } + public DetlDto(String matnr, String batch, Double anfme) { + this.matnr = matnr; + this.batch = batch; + this.anfme = anfme; + } + + public DetlDto(String orderNo, String matnr, String batch, Double anfme) { + this.orderNo = orderNo; + this.matnr = matnr; + this.batch = batch; + this.anfme = anfme; + } public static boolean hasList(Set<DetlDto> detlDtos, OrderDetl orderDetl) { for (DetlDto dto : detlDtos) { - boolean compare = MatCompareUtils.compare(dto, orderDetl); - if (compare) { - return true; + if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(orderDetl.getBatch())) { + if (dto.getMatnr().equals(orderDetl.getMatnr())) { + return true; + } + } else { + if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(orderDetl.getBatch())) { + if (dto.getMatnr().equals(orderDetl.getMatnr()) && dto.getBatch().equals(orderDetl.getBatch())) { + return true; + } + } } -// if (Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(orderDetl.getBatch())) { -// if (dto.getMatnr().equals(orderDetl.getMatnr())) { -// return true; -// } -// } else { -// if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(orderDetl.getBatch())) { -// if (dto.getMatnr().equals(orderDetl.getMatnr()) && dto.getBatch().equals(orderDetl.getBatch())) { -// return true; -// } -// } -// } } return false; } public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) { for (DetlDto dto : detlDtos) { - boolean compare = MatCompareUtils.compare(dto, detlDto); - if (compare) { + if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())) { return true; } -// if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch())) { -// return true; -// } } return false; } - public static DetlDto find(List<DetlDto> detlDtos, LocDto locDto) { - if (Cools.isEmpty(locDto)) { + public static DetlDto find(List<DetlDto> detlDtos, String matnr, String batch) { + if (Cools.isEmpty(matnr)) { return null; } for (DetlDto detlDto : detlDtos) { - boolean compare = MatCompareUtils.compare(detlDto, locDto); - if (compare) { + if (matnr.equals(detlDto.getMatnr()) && Cools.eq(batch, detlDto.getBatch())) { return detlDto; } } diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java index 286ab79..0c467ff 100644 --- a/src/main/java/com/zy/common/model/TaskDto.java +++ b/src/main/java/com/zy/common/model/TaskDto.java @@ -19,6 +19,7 @@ private String locNo; private Integer staNo; + private List<LocDetlDto> locDetlDtos = new ArrayList<>(); private List<LocDto> locDtos; @@ -67,56 +68,87 @@ return null; } - public boolean isAll(){ - // 姹囨�讳笉鑰冭檻搴忓垪鐮� - List<DetlDto> detlDtos = new ArrayList<>(); - for (LocDto locDto : this.getLocDtos()) { - DetlDto dto = new DetlDto(locDto); - if (DetlDto.has(detlDtos, dto)) { - DetlDto detlDto = DetlDto.find(detlDtos, locDto); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme()); - } else { - detlDtos.add(new DetlDto(locDto)); - } - } - - // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏 - LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo)); - if (locDetls == null || locDetls.isEmpty()){ - throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo); - } - int sameNumber = 0; - for (LocDetl locDetl : locDetls) { - Iterator<DetlDto> iterator = detlDtos.iterator(); - while (iterator.hasNext()) { - DetlDto dto = iterator.next(); - if (!dto.getMatnr().equals(locDetl.getMatnr())) { - continue; - } - if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { - continue; - } - if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) { - continue; - } - if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { - if (!dto.getBatch().equals(locDetl.getBatch())) { - continue; - } - } - if (dto.getAnfme() > locDetl.getAnfme()) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); - } - if (dto.getAnfme().equals(locDetl.getAnfme())) { - sameNumber++; - iterator.remove(); - break; - } - } - } - return sameNumber == locDetls.size(); +// public boolean isAll(){ +// // 姹囨�讳笉鑰冭檻搴忓垪鐮� +// List<DetlDto> detlDtos = new ArrayList<>(); +// for (LocDto locDto : this.getLocDtos()) { +// DetlDto dto = new DetlDto(locDto); +// if (DetlDto.has(detlDtos, dto)) { +// DetlDto detlDto = DetlDto.find(detlDtos, locDto); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + locDto.getAnfme()); +// } else { +// detlDtos.add(new DetlDto(locDto)); +// } +// } +// +// // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏 +// LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); +// List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo)); +// if (locDetls == null || locDetls.isEmpty()){ +// throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo); +// } +// int sameNumber = 0; +// for (LocDetl locDetl : locDetls) { +// Iterator<DetlDto> iterator = detlDtos.iterator(); +// while (iterator.hasNext()) { +// DetlDto dto = iterator.next(); +// if (!dto.getMatnr().equals(locDetl.getMatnr())) { +// continue; +// } +// if (Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { +// continue; +// } +// if (!Cools.isEmpty(dto.getBatch()) && Cools.isEmpty(locDetl.getBatch())) { +// continue; +// } +// if (!Cools.isEmpty(dto.getBatch()) && !Cools.isEmpty(locDetl.getBatch())) { +// if (!dto.getBatch().equals(locDetl.getBatch())) { +// continue; +// } +// } +// if (dto.getAnfme() > locDetl.getAnfme()) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); +// } +// if (dto.getAnfme().equals(locDetl.getAnfme())) { +// sameNumber++; +// iterator.remove(); +// break; +// } +// } +// } +// return sameNumber == locDetls.size(); +// } +public boolean isAll(){ + List<LocDetlDto> locDetlDtosCp = new ArrayList<>(this.locDetlDtos); + // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏 + LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class); + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo)); + if (locDetls == null || locDetls.isEmpty()){ + throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo); } + int sameNumber = 0; + for (LocDetl locDetl : locDetls) { + Iterator<LocDetlDto> iterator = locDetlDtosCp.iterator(); + while (iterator.hasNext()) { + LocDetlDto next = iterator.next(); + if (!next.getLocDetl().getMatnr().equals(locDetl.getMatnr())) { + continue; + } + if (!Cools.eq(next.getLocDetl().getBatch(), locDetl.getBatch())) { + continue; + } + if (next.getCount() > locDetl.getAnfme()) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�"); + } + if (next.getCount().equals(locDetl.getAnfme())) { + sameNumber++; + iterator.remove(); + break; + } + } + } + return sameNumber == locDetls.size(); +} } diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 959b9c2..935695d 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -166,9 +166,9 @@ if (!Cools.isEmpty(moveCrnNo) && moveCrnNo!=0){ crnNumber = moveCrnNo; if (times==0){ - curRow = moveCrnNo*4-1; + curRow = moveCrnNo*2-1; }else { - curRow = moveCrnNo*4-2; + curRow = moveCrnNo*2-1; } } @@ -191,9 +191,9 @@ times++; } } - if (nearRow == 0) { - throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); - } +// if (nearRow == 0) { +// throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満"); +// } boolean signRule1 = false; boolean signRule2 = false; @@ -202,7 +202,7 @@ if (Utils.BooleanWhsTypeStaIoType(whsType)){ // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗� if (!Cools.isEmpty(matnr) && staDescId == 1){ - signRule1 = true; + signRule1 = false; } // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //浜掗�氱増 if (!Cools.isEmpty(matnr) && staDescId == 1) { @@ -399,7 +399,7 @@ // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 if (times < rowCount*2) { times = times + 1; - return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times); + return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo+1, locTypeDto, times); } // // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� // if (locTypeDto.getLocType1() < 2) { diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 059ecb0..00a4bf2 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -327,7 +327,7 @@ // 妫�绱㈠簱浣� List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList()); List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); - StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto); + StartupDto dto = commonService.getLocNo(2, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 41805fa..2840412 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,7 +10,7 @@ enabled: false datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://127.0.0.1:1433;databasename=xgmFlasrs + url: jdbc:sqlserver://127.0.0.1:1433;databasename=tzglasrs username: sa password: sa@123 mvc: @@ -40,7 +40,7 @@ #License鐩稿叧閰嶇疆 license: - subject: gdkyasrs + subject: tzglasrs publicAlias: publicCert storePass: public_zhongyang_123456789 licensePath: license.lic @@ -49,7 +49,7 @@ # 涓嬩綅鏈洪厤缃� wcs-slave: # 鍙屾繁 - doubleDeep: true + doubleDeep: false # 鍙屾繁搴撲綅鎺掑彿 doubleLocs: 1,4,5,8,9,12,13,16 # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁� @@ -103,7 +103,7 @@ lcid: 2052 #ERP鎺ュ彛 - enabled: true + enabled: false #enabled: false #鏌ョ湅ERP涓棿琛ㄩ棿闅� refreshtime: 0/5 * * * * ? diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic index 547ae21..af956fb 100644 --- a/src/main/resources/license.lic +++ b/src/main/resources/license.lic Binary files differ diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index 323b6b5..35a6602 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/xgmFlwms"; +var baseUrl = "/tzglasrs"; // 璇︽儏绐楀彛-楂樺害 var detailHeight = '80%'; -- Gitblit v1.9.1