From dcaa739b0c28e0ea4628a4d08e0683001ced273a Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 10 十一月 2023 18:16:05 +0800
Subject: [PATCH] agv物料混载更改 新增根据物料频率查找库位
---
src/main/java/com/zy/asrs/controller/OrderController.java | 12 +
src/main/java/com/zy/asrs/utils/MatExcelListener.java | 6
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 38 ++++
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 16 +
src/main/webapp/views/mat/mat.html | 7
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 4
src/main/java/com/zy/common/model/TaskDto.java | 6
src/main/resources/mapper/OrderDetlMapper.xml | 70 ++++++++
src/main/java/com/zy/asrs/service/AgvLocDetlService.java | 9 +
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 3
src/main/java/com/zy/common/service/AgvCommonService.java | 44 ++---
src/main/java/com/zy/asrs/service/OrderDetlService.java | 10
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 2
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 2
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 26 +-
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 16 +-
src/main/java/com/zy/asrs/entity/Mat.java | 53 +++---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 97 +++++++----
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 8
src/main/webapp/static/js/common.js | 3
src/main/java/com/zy/asrs/controller/OutController.java | 22 ++
src/main/resources/application.yml | 6
22 files changed, 319 insertions(+), 141 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index d1bd0b8..dd32cc8 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -8,6 +8,7 @@
import com.zy.asrs.service.AgvWorkService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.common.web.BaseController;
+import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -72,6 +73,7 @@
鍚姩鍏ュ簱锛岀敓鎴愬伐浣滄。
*/
@PostMapping("/pakin/auth")
+ @Synchronized
public R pakin(@RequestBody Map<String,Object> map){
List<String> devNos = (List<String>) map.get("devNo");
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index bccf4af..7db8719 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -156,7 +156,7 @@
for (OrderDetl orderDetl : param.getOrderDetlList()) {
DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
if (DetlDto.has(list, dto)) {
- OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+ OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
if (!orderDetlService.updateById(item)) {
throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
@@ -209,7 +209,7 @@
for (OrderDetl orderDetl : param.getOrderDetlList()) {
DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
if (DetlDto.has(list, dto)) {
- OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch());
+ OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
item.setAnfme(item.getAnfme() + orderDetl.getAnfme());
if (!orderDetlService.updateById(item)) {
throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�");
@@ -449,6 +449,10 @@
Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(3)));
// 涓嬪崟鏃堕棿
String timeStr = dataFormatter.formatCellValue(row.getCell(4));
+ // 閿�鍞鍗曞彿
+ String csocode = dataFormatter.formatCellValue(row.getCell(5));
+ // 閿�鍞鍗曡鍙�
+ String isocode = dataFormatter.formatCellValue(row.getCell(6));
Date time = null;
try {
time = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss_F);
@@ -508,7 +512,7 @@
}
}
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null);
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null,csocode,isocode);
if (orderDetl == null) {
orderDetl = new OrderDetl();
orderDetl.sync(mat);
@@ -526,7 +530,7 @@
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
}
} else {
- if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme)) {
+ if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme,csocode,isocode)) {
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃閲嶆柊瀵煎叆锛�");
}
}
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 67c8fe2..9fc1c53 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -266,19 +266,33 @@
if(!Cools.isEmpty(agvLocMast) && !agvLocMast.getLocSts().equals("F")){
throw new CoolException("搴撲綅鍙烽潪鍦ㄥ簱鐘舵�侊紝璇烽噸鏂伴�夋嫨鍑哄簱搴撲綅===>>" + locDto.getLocNo());
}
+ TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
+ if (TaskDto.has(agvTaskDtos, taskDto)) {
+ TaskDto dto = TaskDto.find(agvTaskDtos, taskDto);
+ assert dto != null;
+ dto.getLocDtos().addAll(taskDto.getLocDtos());
+ return;
+ } else {
+ agvTaskDtos.add(taskDto);
+ }
+
//瀵绘壘绌虹珯鐐逛綅缃�
AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(locDto.getAgvStaNo());
if(Cools.isEmpty(agvBasDevp)){
//濡傛灉娌℃湁鎵惧埌绌虹珯鐐癸紝鍒欑敓鎴愬噯澶囦换鍔�
- TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
- agvTaskDtos.add(taskDto);
+ //TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
+ //agvTaskDtos.add(taskDto);
+ //濡傛灉搴撲綅瀛樺湪娣疯浇
+
return;
}
// agvBasDevp.setLocSts("S");
// agvBasDevpService.updateById(agvBasDevp);
agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
- TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
- agvTaskDtos.add(taskDto);
+ //TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
+ taskDto.setAgvStaNo(agvBasDevp.getDevNo());
+
+ //agvTaskDtos.add(taskDto);
}
diff --git a/src/main/java/com/zy/asrs/entity/Mat.java b/src/main/java/com/zy/asrs/entity/Mat.java
index 9bd9f90..84cf369 100644
--- a/src/main/java/com/zy/asrs/entity/Mat.java
+++ b/src/main/java/com/zy/asrs/entity/Mat.java
@@ -74,91 +74,91 @@
* 绉诲姩绫诲瀷
*/
@ApiModelProperty(value= "绉诲姩绫诲瀷")
- @ExcelProperty(value = "绉诲姩绫诲瀷")
+ //@ExcelProperty(value = "绉诲姩绫诲瀷")
private String name;
/**
* 瑙勬牸
*/
@ApiModelProperty(value= "瑙勬牸")
- @ExcelProperty(value = "瑙勬牸")
+ @ExcelProperty(value = "瑙勬牸鍨嬪彿")
private String specs;
/**
* 鎵规
*/
@ApiModelProperty(value= "鎵规")
- @ExcelProperty(value = "鎵规")
+ @ExcelProperty(value = "閫氱敤鍨嬪彿")
private String model;
/**
* 棰滆壊
*/
@ApiModelProperty(value= "棰滆壊")
- @ExcelProperty(value = "棰滆壊")
+ @ExcelProperty(value = "瀛樿揣鍒嗙被鍚嶇О")
private String color;
/**
* 鍝佺墝
*/
@ApiModelProperty(value= "鍝佺墝")
- @ExcelProperty(value = "鍝佺墝")
+ @ExcelProperty(value = "瀛樿揣鍒嗙被缂栫爜")
private String brand;
/**
* 鍗曚綅
*/
@ApiModelProperty(value= "鍗曚綅")
- @ExcelProperty(value = "鍗曚綅")
+ @ExcelProperty(value = "璁¢噺鍗曚綅")
private String unit;
/**
* 鍗曚环
*/
@ApiModelProperty(value= "鍗曚环")
- @ExcelProperty(value = "鍗曚环")
+ @ExcelProperty(value = "杩涢」绋�")
private Double price;
/**
* sku
*/
@ApiModelProperty(value= "sku")
- @ExcelProperty(value = "sku")
+ //@ExcelProperty(value = "sku")
private String sku;
/**
* 鍖呮暟
*/
@ApiModelProperty(value= "鍖呮暟")
- @ExcelProperty(value = "鍖呮暟")
+ @ExcelProperty(value = "閿�椤圭◣")
private Double units;
/**
* 鏉$爜
*/
@ApiModelProperty(value= "鏉$爜")
- @ExcelProperty(value = "鏉$爜")
+ //@ExcelProperty(value = "鏉$爜")
private String barcode;
/**
* 鐗╂枡鐘舵��
*/
@ApiModelProperty(value= "鐗╂枡鐘舵��")
- @ExcelProperty(value = "鐗╂枡鐘舵��")
+ //@ExcelProperty(value = "鐗╂枡鐘舵��")
private String origin;
/**
* 鍘傚
*/
@ApiModelProperty(value= "鍘傚")
- @ExcelProperty(value = "鍘傚")
+ //@ExcelProperty(value = "鍘傚")
private String manu;
/**
* 鍗曟嵁鏃堕棿
*/
@ApiModelProperty(value= "鍗曟嵁鏃堕棿")
- @ExcelProperty(value = "鍗曟嵁鏃堕棿")
+ //@ExcelProperty(value = "鍗曟嵁鏃堕棿")
@TableField("manu_date")
private String manuDate;
@@ -166,7 +166,7 @@
* 鍝侀」鏁�
*/
@ApiModelProperty(value= "鍝侀」鏁�")
- @ExcelProperty(value = "鍝侀」鏁�")
+ //@ExcelProperty(value = "鍝侀」鏁�")
@TableField("item_num")
private String itemNum;
@@ -182,28 +182,28 @@
* 閲嶉噺
*/
@ApiModelProperty(value= "閲嶉噺")
- @ExcelProperty(value = "閲嶉噺")
+ //@ExcelProperty(value = "閲嶉噺")
private Double weight;
/**
* 闀垮害
*/
@ApiModelProperty(value= "闀垮害")
- @ExcelProperty(value = "闀垮害")
+ //@ExcelProperty(value = "闀垮害")
private Double length;
/**
* 浣撶Н
*/
@ApiModelProperty(value= "浣撶Н")
- @ExcelProperty(value = "浣撶Н")
+ //@ExcelProperty(value = "浣撶Н")
private Double volume;
/**
* 涓夋柟缂栫爜
*/
@ApiModelProperty(value= "涓夋柟缂栫爜")
- @ExcelProperty(value = "涓夋柟缂栫爜")
+ //@ExcelProperty(value = "涓夋柟缂栫爜")
@TableField("three_code")
private String threeCode;
@@ -211,14 +211,14 @@
* 渚涘簲鍟�
*/
@ApiModelProperty(value= "渚涘簲鍟�")
- @ExcelProperty(value = "渚涘簲鍟�")
+ @ExcelProperty(value = "寤烘。浜�")
private String supp;
/**
* 渚涘簲鍟嗙紪鐮�
*/
@ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
- @ExcelProperty(value = "渚涘簲鍟嗙紪鐮�")
+ //@ExcelProperty(value = "渚涘簲鍟嗙紪鐮�")
@TableField("supp_code")
private String suppCode;
@@ -227,6 +227,7 @@
*/
@ApiModelProperty(value= "鏄惁鎵规 1: 鏄� 0: 鍚� ")
@TableField("be_batch")
+ @ExcelProperty(value = "鐗╂枡棰戠巼")
private Integer beBatch;
/**
@@ -234,7 +235,7 @@
*/
@ApiModelProperty(value= "淇濊川鏈�")
@TableField("dead_time")
- @ExcelProperty(value = "淇濊川鏈�")
+ //@ExcelProperty(value = "淇濊川鏈�")
private String deadTime;
/**
@@ -242,7 +243,7 @@
*/
@ApiModelProperty(value= "棰勮澶╂暟")
@TableField("dead_warn")
- @ExcelProperty(value = "棰勮澶╂暟")
+ //@ExcelProperty(value = "棰勮澶╂暟")
private Integer deadWarn;
/**
@@ -326,10 +327,12 @@
//鍚姩鏃ユ湡
@TableField("ds_date")
+ @ExcelProperty(value = "鍚敤鏃ユ湡")
private Date dsDate;
//寤烘。鏃ユ湡
@TableField("d_inv_create_datetime")
+ @ExcelProperty(value = "寤烘。鏃ユ湡")
private Date dInvCreateDatetime;
public Mat() {}
@@ -430,11 +433,11 @@
if (null == this.beBatch){ return null; }
switch (this.beBatch){
case 1:
- return "鏄�";
+ return "楂�";
case 0:
- return "鍚�";
+ return "浣�";
default:
- return String.valueOf(this.beBatch);
+ return "浣�";
}
}
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index 21a8dbc..fdeb592 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -34,4 +34,7 @@
" group by a.matnr")
List<AgvLocDetl> getStockStatisExcel();
+ @Select("SELECT SUM(anfme) FROM agv_loc_detl WHERE loc_no = #{locNo}")
+ Double sumByLocNo(@Param("locNo")String locNo);
+
}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 3e7d1ba..4aa30a4 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -13,9 +13,15 @@
@Repository
public interface OrderDetlMapper extends BaseMapper<OrderDetl> {
- OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch);
+ /*
+ 濡傛灉batch銆乧socode銆乮socode涓虹┖锛屽垯鏌ヨ缁撴灉涓璪atch銆乧socode銆乮socode鐨勫�间负绌�
+ */
+ OrderDetl selectItem(@Param("orderId") Long orderId, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
- OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch);
+ /*
+ 濡傛灉batch銆乧socode銆乮socode涓虹┖锛屽垯鏌ヨ缁撴灉涓笉鑰冭檻batch銆乧socode銆乮socode鐨勫��
+ */
+ OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
OrderDetl selectItemNoneOfBatch(@Param("orderNo")String orderNo, @Param("matnr")String matnr);
@@ -27,11 +33,11 @@
Integer getPakoutPageCount(Map<String, Object> map);
- int increaseAnfme(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+ int increaseAnfme(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty, @Param("csocode")String csocode, @Param("isocode")String isocode);
- int increase(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+ int increase(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty, @Param("csocode")String csocode, @Param("isocode")String isocode);
- int decrease(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+ int decrease(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty, @Param("csocode")String csocode, @Param("isocode")String isocode);
int modifyStatus(@Param("orderId") Long orderId, @Param("status")Integer status);
diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
index d0b67a4..dc3a97a 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.AgvLocDetl;
import com.zy.common.model.LocDto;
+import com.zy.common.model.TaskDto;
import java.util.List;
@@ -26,8 +27,14 @@
/**
* 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏋滄暟閲忎负0锛屽垯鍒犻櫎璁板綍
*/
- boolean updateAnfme(Double anfme, String locNo, String matnr, String batch);
+ boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode);
public AgvLocDetl selectByLocNo(String locNo);
+ public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto);
+
+ public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode(String matnr, String batch, String csocode, String isocode);
+
+ public Double selectSumAnfmeByLocNo(String locNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 6f8be15..2fd0459 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -12,9 +12,9 @@
Page<OrderDetl> getPakoutPage(Page<OrderDetl> page);
- OrderDetl selectItem(Long orderId, String matnr, String batch);
+ OrderDetl selectItem(Long orderId, String matnr, String batch, String csocode, String isoCode);
- OrderDetl selectItem(String orderNo, String matnr, String batch);
+ OrderDetl selectItem(String orderNo, String matnr, String batch, String csocode, String isoCode);
OrderDetl selectItemNoneOfBatch(String orderNo, String matnr);
@@ -22,11 +22,11 @@
OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
- boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty);
+ boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty, String csocode, String isoCode);
- boolean increase(Long orderId, String matnr, String batch, Double qty);
+ boolean increase(Long orderId, String matnr, String batch, Double qty, String csocode, String isoCode);
- boolean decrease(String orderNo, String matnr, String batch, Double qty);
+ boolean decrease(String orderNo, String matnr, String batch, Double qty, String csocode, String isoCode);
boolean modifyStatus(Long orderId, Integer status);
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index 7e212d6..6b13866 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -13,7 +13,9 @@
import com.zy.asrs.service.AgvLocDetlService;
import com.zy.asrs.service.AgvLocMastService;
import com.zy.asrs.service.AgvWrkDetlService;
+import com.zy.asrs.utils.Utils;
import com.zy.common.model.LocDto;
+import com.zy.common.model.TaskDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -133,13 +135,16 @@
return this.selectList(wrapper);
}
- public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
+ public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode) {
+ EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
+ Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
+ wrapper.eq("loc_no", locNo);
if (anfme <= 0) {
- return this.delete(new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).eq("loc_no", locNo));
+ return this.delete(wrapper);
} else {
- AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", matnr));
+ AgvLocDetl agvLocDetl = this.selectOne(wrapper);
agvLocDetl.setAnfme(anfme);
- return this.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", matnr));
+ return this.update(agvLocDetl,wrapper);
//return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
}
}
@@ -170,4 +175,29 @@
public AgvLocDetl selectByLocNo(String locNo){
return this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no",locNo));
}
+
+ @Override
+ public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto) {
+ List<AgvLocDetl> agvLocDetls = new ArrayList<>();
+
+ taskDto.getLocDtos().forEach(locDto -> {
+ AgvLocDetl agvLocDetl = this.selectByMatnrAndBatchAndCsocodeAndisoCode(locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+ agvLocDetls.add(agvLocDetl);
+ });
+ return agvLocDetls;
+ }
+
+ @Override
+ public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode(String matnr, String batch, String csocode, String isocode) {
+ EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
+ Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
+ return this.selectOne(wrapper);
+ }
+
+ @Override
+ public Double selectSumAnfmeByLocNo(String locNo) {
+ return this.baseMapper.sumByLocNo(locNo);
+ }
+
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index c110227..92dda9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -148,7 +148,7 @@
*/
private void checkOrderQty(Order order, CombParam.CombMat combMat){
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙锛屽鏋滀綔涓氭暟閲忓ぇ浜庡崟鎹暟閲忓垯鎶涘嚭寮傚父
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getCsocode(),combMat.getIsoseq());
if(Cools.isEmpty(orderDetl)){
throw new CoolException("鏈尮閰嶅埌璇ュ崟鎹笅鐨勭墿鏂�");
}
@@ -156,7 +156,7 @@
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
+ if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(),combMat.getIsoseq())) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 764889e..5d02d6a 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -118,31 +118,41 @@
agvTaskDtos.forEach(taskDto -> {
- AgvLocMast agvLocMast = agvLocMastService.selectById(taskDto.getLocNo());
- AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo()));
+ List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectByTaskDto(taskDto);
+
+ //AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", taskDto.getLocNo()));
//宸ヤ綔妗f墍闇�鍙傛暟
- double anfme = taskDto.getLocDtos().get(0).getAnfme();
+
long wrkSts = 21L;
String sourceLocNo = taskDto.getLocNo();
String targetLocNo = taskDto.getAgvStaNo();
- String barcode = agvLocDetl.getSuppCode();
- //鏄庣粏妗f墍闇�鍙傛暟
- String mantr = taskDto.getLocDtos().get(0).getMatnr();
- String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
- String batch = taskDto.getLocDtos().get(0).getBatch();
+ String barcode = agvLocDetls.get(0).getSuppCode();
- String csocode = agvLocDetl.getThreeCode();
- String isoseq = agvLocDetl.getDeadTime();
//鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
- int ioType = isPakOut(sourceLocNo,anfme) ? 101 : 103;
+ int ioType = isPakOut(sourceLocNo,taskDto) ? 101 : 103;
//鐢熸垚宸ヤ綔妗�
AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId,false);
//鐢熸垚宸ヤ綔妗f槑缁�
- createWrkDetlReWrite(mantr,wrkMast.getWrkNo(),orderNo,batch,anfme,barcode,now,userId,csocode,isoseq);
- //淇敼璁㈠崟淇℃伅
- modifyOrderDetl(taskDto.getLocDtos().get(0), userId);
+ taskDto.getLocDtos().forEach(locDto -> {
+ //鏄庣粏妗f墍闇�鍙傛暟
+ createWrkDetlReWrite(locDto.getMatnr(),
+ wrkMast.getWrkNo(),
+ locDto.getOrderNo(),
+ locDto.getBatch(),
+ locDto.getAnfme(),
+ locDto.getContainerCode(),
+ now,
+ userId,
+ locDto.getCsocode(),
+ locDto.getIsoseq());
+
+ //淇敼璁㈠崟淇℃伅
+ modifyOrderDetl(locDto, userId);
+ });
+// //淇敼璁㈠崟淇℃伅
+// modifyOrderDetl(taskDto.getLocDtos().get(0), userId);
//鏇存柊婧愮珯鐐逛俊鎭�
String locSts = ioType == 101 ? "R" : "P";
updateAgvLocMast(agvLocMastService.selectById(sourceLocNo),locSts);
@@ -171,9 +181,9 @@
agvWrkMast.setIoTime(now);
agvWrkMastService.updateById(agvWrkMast);
- AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+ List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
- AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
+ //List<AgvLocDetl> agvLocDetlList = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo());
//鎷f枡鍏ュ簱
@@ -182,8 +192,11 @@
//agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme());
//agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo()));
//淇敼搴撳瓨淇℃伅
- agvLocDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme());
- agvLocDetlService.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocDetl.getLocNo()));
+ agvWrkDetlList.forEach(agvWrkDetl -> {
+ AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+ double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme();
+ agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
+ });
}
//淇敼搴撲綅淇℃伅
updateAgvLocMast(agvLocMast,"Q");
@@ -337,7 +350,7 @@
if (!locDetl.getAnfme().equals(adjust.getCount())) {
// todo 鐩樼偣璁板綍
// 淇敼搴撳瓨
- if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -368,7 +381,7 @@
// 鍒犻櫎搴撳瓨
for (AgvLocDetl locDetl : locDetls) {
// todo 鐩樼偣璁板綍
- if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -497,18 +510,25 @@
//鐩爣绔欑偣
String devNo = wrkMast.getLocNo();
agvLocMastService.updateLocStsByLocNo(locNo,"F");
- agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","");
+ if(devNo.contains("@")){
+ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","");
+ }
}
}
//璁㈠崟鍥炴粴
- AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo()).get(0);
- if(!Cools.isEmpty(agvWrkDetl.getOrderNo())){
- OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
- orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
- orderDetlService.updateById(orderDetl);
- }
+ //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ agvWrkDetlList1.forEach(agvWrkDetl -> {
+
+ if(!Cools.isEmpty(agvWrkDetl.getOrderNo())){
+ OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
+ orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
+ orderDetlService.updateById(orderDetl);
+ }
+ });
+
//淇濆瓨宸ヤ綔妗d互鍙婃槑缁�
agvWrkMastLogService.save(wrkMast);
@@ -668,9 +688,14 @@
return wrkMast;
}
- private boolean isPakOut(String locNo, double anfme){
- AgvLocDetl agvLocDetl = agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
- if(agvLocDetl.getAnfme() > anfme){
+ private boolean isPakOut(String locNo, TaskDto taskDto){
+ Double allAnfme = agvLocDetlService.selectSumAnfmeByLocNo(locNo);
+ Double pakOutAnfme = 0.0;
+ for (LocDto locDto : taskDto.getLocDtos()){
+ pakOutAnfme += locDto.getAnfme();
+ }
+
+ if(allAnfme > pakOutAnfme){
return false;
}
return true;
@@ -684,11 +709,11 @@
if (!BaseController.isJSON(locDto.getOrderNo())) {
//闈炲悎骞跺嚭搴�
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -702,9 +727,9 @@
Double orderAnfme;
for (OrderDto orderDto : orderDtoList) {
- OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null);
+ orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
}
if(locAnfme > orderDetl.getAnfme()){
@@ -714,7 +739,7 @@
orderAnfme = locAnfme;
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme)) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme,orderDetl.getThreeCode(),orderDetl.getDeadTime())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
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 5de7f20..9ddf167 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -149,12 +149,12 @@
param.getCombMats().forEach(elem -> {
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getCsocode(),elem.getIsoseq());
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(),elem.getCsocode(),elem.getIsoseq())) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
@@ -393,12 +393,12 @@
// 淇敼浣滀笟鏁伴噺 ----------------------------------------
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq());
if (detlDto.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+ if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme(),detlDto.getCsocode(),detlDto.getIsoseq())) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 46f1a15..0f8c4b7 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -31,13 +31,13 @@
}
@Override
- public OrderDetl selectItem(Long orderId, String matnr, String batch) {
- return this.baseMapper.selectItem(orderId, matnr, batch);
+ public OrderDetl selectItem(Long orderId, String matnr, String batch, String csocode, String isoCode) {
+ return this.baseMapper.selectItem(orderId,matnr,batch,csocode,isoCode);
}
@Override
- public OrderDetl selectItem(String orderNo, String matnr, String batch) {
- return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+ public OrderDetl selectItem(String orderNo, String matnr, String batch, String csocode, String isoCode) {
+ return this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch,csocode,isoCode);
}
@Override
@@ -63,20 +63,20 @@
}
@Override
- public boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty) {
- return this.baseMapper.increaseAnfme(orderId, matnr, batch, qty) > 0;
+ public boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty, String csocode, String isoCode) {
+ return this.baseMapper.increaseAnfme(orderId, matnr, batch, qty, csocode, isoCode) > 0;
}
@Override
- public boolean increase(Long orderId, String matnr, String batch, Double qty) {
- return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
+ public boolean increase(Long orderId, String matnr, String batch, Double qty, String csocode, String isoCode) {
+ return this.baseMapper.increase(orderId, matnr, batch, qty, csocode, isoCode) > 0;
}
@Override
- public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
- int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
+ public boolean decrease(String orderNo, String matnr, String batch, Double qty, String csocode, String isoCode) {
+ int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty, csocode, isoCode);
if (decrease == 0) {
- return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
+ return this.baseMapper.decrease(orderNo, matnr, null, qty, csocode, isoCode) > 0;
} else {
return true;
}
@@ -109,8 +109,8 @@
@Override
public OrderDetl selectByOrderNoAndMatnr(String orderNo, String matnr, String csocode, String isoseq) {
Wrapper<OrderDetl> wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("matnr", matnr);
- Utils.wapperSetCondition(wrapper,"csocode",csocode);
- Utils.wapperSetCondition(wrapper,"isoseq",isoseq);
+ Utils.wapperSetCondition(wrapper,"three_code",csocode);
+ Utils.wapperSetCondition(wrapper,"dead_time",isoseq);
return this.selectOne(wrapper);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 1d66c6e..dba14a3 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -175,7 +175,7 @@
}
for (DetlDto detlDto : detlDtos) {
// 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+ if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme(),detlDto.getCsocode(),detlDto.getIsoseq())) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
}
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 36fe8aa..87a71e8 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -478,11 +478,11 @@
// 淇敼璁㈠崟鏄庣粏
if (!BaseController.isJSON(locDto.getOrderNo())) {
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme(),locDto.getCsocode(),locDto.getIsoseq())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -496,9 +496,9 @@
Double orderAnfme;
for (OrderDto orderDto : orderDtoList) {
- OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null);
+ orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), null,locDto.getCsocode(),locDto.getIsoseq());
}
if(locAnfme > orderDetl.getAnfme()){
@@ -508,7 +508,7 @@
orderAnfme = locAnfme;
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme)) {
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderAnfme,orderDetl.getThreeCode(),orderDetl.getDeadTime())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -1023,7 +1023,7 @@
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
- if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+ if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme(),wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
} else {
@@ -1044,7 +1044,7 @@
orderAnfme = wrkDetlAnfme;
}
- if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderAnfme)) {
+ if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderAnfme,wrkDetl.getThreeCode(),wrkDetl.getDeadTime())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
}
diff --git a/src/main/java/com/zy/asrs/utils/MatExcelListener.java b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
index a16e06d..6f29fc9 100644
--- a/src/main/java/com/zy/asrs/utils/MatExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -2,6 +2,7 @@
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
@@ -135,6 +136,11 @@
throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛岀墿鏂欏彿锛�" + excel.getMatnr());
}
total++;
+ }else {
+ mat = excel;
+ mat.setTagId(tagId);
+ matService.update(mat,new EntityWrapper<Mat>().eq("matnr",mat.getMatnr()));
+ total++;
}
}
diff --git a/src/main/java/com/zy/common/model/TaskDto.java b/src/main/java/com/zy/common/model/TaskDto.java
index beb8394..adbd14e 100644
--- a/src/main/java/com/zy/common/model/TaskDto.java
+++ b/src/main/java/com/zy/common/model/TaskDto.java
@@ -56,6 +56,9 @@
return false;
}
for (TaskDto taskDto : list) {
+ if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){
+ return true;
+ }
if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) {
return true;
}
@@ -68,6 +71,9 @@
return null;
}
for (TaskDto taskDto : list) {
+ if(Cools.isEmpty(taskDto.getStaNo()) && dto.getLocNo().equals(taskDto.getLocNo())){
+ return taskDto;
+ }
if (dto.getLocNo().equals(taskDto.getLocNo()) && taskDto.getStaNo().equals(dto.getStaNo())) {
return taskDto;
}
diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java
index 9b2e5f1..8684a32 100644
--- a/src/main/java/com/zy/common/service/AgvCommonService.java
+++ b/src/main/java/com/zy/common/service/AgvCommonService.java
@@ -74,21 +74,21 @@
public AgvLocMast getLocNo(List<AgvWaitPakin> agvWaitPakinList, int floor) {
// 鐩爣搴撲綅
AgvLocMast locMast = null;
-
- //搴撲綅瑙勫垯
- if(!Cools.isEmpty(agvWaitPakinList)){
- locMast = getLocByLocRule(agvWaitPakinList.get(0),floor);
- if(!Cools.isEmpty(locMast)){
- return locMast;
- }
+ if(Cools.isEmpty(agvWaitPakinList)){
+ return getLocNoRule(floor);
}
+ //搴撲綅瑙勫垯
+ locMast = getLocByLocRule(agvWaitPakinList.get(0),floor);
+ if(!Cools.isEmpty(locMast)){
+ return locMast;
+ }
+
+
//搴撲綅缂栫爜瑙勫垯
- if(!Cools.isEmpty(agvWaitPakinList)){
- locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor);
- if(!Cools.isEmpty(locMast)){
- return locMast;
- }
+ locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor);
+ if(!Cools.isEmpty(locMast)){
+ return locMast;
}
// 闈犺繎鎽嗘斁瑙勫垯 --- 鐩稿悓璁㈠崟鍙�, 鍚屽ぉ鍚岃鏍肩墿鏂�
@@ -100,21 +100,15 @@
//鏍规嵁鐗╂枡棰戠巼鎼滅储搴撲綅锛岄鐜囬珮鍒欐悳绱㈢缂撳瓨璐ф灦鏈�杩戝簱浣嶏紝棰戠巼浣庡垯鎼滅储鏈�杩滃簱浣�
Mat mat = matService.selectByMatnr(agvWaitPakinList.get(0).getMatnr());
- if(true){
-
- }else {
-
+ if(Cools.isEmpty(mat.getBeBatch())){
+ mat.setBeBatch(0);
+ }
+ locMast = getLocByFre(mat.getBeBatch(), floor);
+ if (locMast != null) {
+ return locMast;
}
-//
-// // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭
-// locMast = getLocNoStep4(staDescId, locTypeDto);
-// if (locMast != null) {
-// //鎵惧埌搴撲綅锛岃繑鍥瀌to
-// return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
-// }
-//
-// // 濡傛灉娌℃湁鐩歌繎鐗╂枡锛屽垯鎸夎鍒欒疆璇㈣揣鏋�
+
// 寮�濮嬫煡鎵惧簱浣� ==============================>>
locMast = getLocNoRule(floor);
if (locMast != null) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 92e90ad..62d51e3 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -74,8 +74,10 @@
agv:
# url: localhost:8080
-# taskCreatePath: /test/task/create
-# containerMoveInPath: /test/container/moveIn
+# taskCreatePath: /agv/task/create
+# containerMoveInPath: /agv/container/moveIn
+# containerMoveOutPath: /agv/container/moveOut
+# containerArrivedPath: /agv/containerArrived
url: 10.10.10.182:9046
taskCreatePath: /task/create
containerMoveInPath: /expand/api/moveIn/container
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 4152d97..b1ffd1a 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -62,6 +62,22 @@
and (batch IS NULL OR batch = '')
</otherwise>
</choose>
+ <choose>
+ <when test="csocode != null and csocode != ''">
+ and three_code = #{csocode}
+ </when>
+ <otherwise>
+ and (three_code IS NULL OR three_code = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="isocode != null and isocode != ''">
+ and dead_time = #{isocode}
+ </when>
+ <otherwise>
+ and (dead_time IS NULL OR dead_time = '')
+ </otherwise>
+ </choose>
</select>
<select id="selectItemByOrderNo" resultMap="BaseResultMap">
@@ -71,6 +87,12 @@
and matnr = #{matnr}
<if test="batch!=null and batch!='' ">
and batch = #{batch}
+ </if>
+ <if test="csocode!=null and csocode!='' ">
+ and three_code = #{csocode}
+ </if>
+ <if test="isocode!=null and isocode!='' ">
+ and dead_time = #{isocode}
</if>
</select>
@@ -154,6 +176,22 @@
and (batch IS NULL OR batch = '')
</otherwise>
</choose>
+ <choose>
+ <when test="csocode != null and csocode != ''">
+ and three_code = #{csocode}
+ </when>
+ <otherwise>
+ and (three_code IS NULL OR three_code = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="isocode != null and isocode != ''">
+ and dead_time = #{isocode}
+ </when>
+ <otherwise>
+ and (dead_time IS NULL OR dead_time = '')
+ </otherwise>
+ </choose>
</update>
<update id="increase">
@@ -170,6 +208,22 @@
and (batch IS NULL OR batch = '')
</otherwise>
</choose>
+ <choose>
+ <when test="csocode != null and csocode != ''">
+ and three_code = #{csocode}
+ </when>
+ <otherwise>
+ and (three_code IS NULL OR three_code = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="isocode != null and isocode != ''">
+ and dead_time = #{isocode}
+ </when>
+ <otherwise>
+ and (dead_time IS NULL OR dead_time = '')
+ </otherwise>
+ </choose>
</update>
<update id="decrease">
@@ -186,6 +240,22 @@
and (batch IS NULL OR batch = '')
</otherwise>
</choose>
+ <choose>
+ <when test="csocode != null and csocode != ''">
+ and three_code = #{csocode}
+ </when>
+ <otherwise>
+ and (three_code IS NULL OR three_code = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="isocode != null and isocode != ''">
+ and dead_time = #{isocode}
+ </when>
+ <otherwise>
+ and (dead_time IS NULL OR dead_time = '')
+ </otherwise>
+ </choose>
</update>
<update id="modifyStatus">
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index cd76d0d..b68a99d 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -185,7 +185,8 @@
//,{field: 'name', align: 'center',title: '绉诲姩绫诲瀷', hide: true}
,{field: 'maktx', align: 'center',title: '瀛樿揣鍚嶇О', width: 150}
,{field: 'specs', align: 'center',title: '瑙勬牸鍨嬪彿', hide: false}
- ,{field: 'model', align: 'center',title: '閫氱敤鍨嬪彿', hide: false}
+ ,{field: 'beBatch$', align: 'center',title: '鐗╂枡棰戠巼', hide: false}
+ ,{field: 'model', align: 'center',title: '閫氱敤鍨嬪彿', hide: true}
// ,{field: 'manuDate', align: 'center',title: '鍗曟嵁鏃堕棿', hide: false}
// ,{field: 'weight', align: 'center',title: '閲嶉噺', hide: false}
// ,{field: 'units', align: 'center',title: '鏀暟', hide: false}
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index d42083c..933ceb3 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -286,13 +286,18 @@
<input name="supp" placeholder="璇疯緭鍏ュ缓妗d汉" class="layui-input">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">澶囨敞</label>
<div class="layui-input-block">
<input name="memo" placeholder="璇疯緭鍏ュ娉�" class="layui-input">
</div>
</div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">鐗╂枡棰戠巼</label>
+ <div class="layui-input-block">
+ <input name="beBatch" type="number" placeholder="1涓洪珮棰戯紝鍏朵粬鍧囦负浣庨" class="layui-input">
+ </div>
+ </div>
</div>
</div>
--
Gitblit v1.9.1