From 36ffb38bb1a5bb6c5238b9d272f6787a966ec44b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期六, 02 四月 2022 10:07:40 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 168 +++++++++++++++++----------
src/main/resources/mapper/AdjDetlMapper.xml | 3
src/main/java/com/zy/asrs/entity/AdjDetl.java | 146 ++---------------------
3 files changed, 122 insertions(+), 195 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/AdjDetl.java b/src/main/java/com/zy/asrs/entity/AdjDetl.java
index faca7f8..67bccb3 100644
--- a/src/main/java/com/zy/asrs/entity/AdjDetl.java
+++ b/src/main/java/com/zy/asrs/entity/AdjDetl.java
@@ -7,15 +7,16 @@
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.MatService;
-import com.zy.system.service.UserService;
import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
+@Data
@TableName("asr_adj_detl")
public class AdjDetl implements Serializable {
@@ -37,11 +38,16 @@
private String locNo;
/**
- * 鐗╂枡缂栧彿
+ * 鍟嗗搧缂栧彿
*/
- @ApiModelProperty(value= "鐗╂枡缂栧彿")
- @TableField("mat_no")
- private String matNo;
+ @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+ private String matnr;
+
+ /**
+ * 鎵瑰彿
+ */
+ @ApiModelProperty(value= "鎵瑰彿")
+ private String batch;
/**
* 鍘熺鏁�
@@ -121,9 +127,10 @@
public AdjDetl() {}
- public AdjDetl(String locNo,String matNo,Double oriCtns,Double oriQty,Double oriWt,Double adjCtns,Double adjQty,Double adjWt,String memo,Long modiUser,Date modiTime,Long appeUser,Date appeTime) {
+ public AdjDetl(String locNo, String matnr, String batch, Double oriCtns, Double oriQty, Double oriWt, Double adjCtns, Double adjQty, Double adjWt, String memo, Long modiUser, Date modiTime, Long appeUser, Date appeTime) {
this.locNo = locNo;
- this.matNo = matNo;
+ this.matnr = matnr;
+ this.batch = batch;
this.oriCtns = oriCtns;
this.oriQty = oriQty;
this.oriWt = oriWt;
@@ -137,9 +144,10 @@
this.appeTime = appeTime;
}
-// AdjDetl adjDetl = new AdjDetl(
+ // AdjDetl adjDetl = new AdjDetl(
// null, // 搴撲綅鍙穂闈炵┖]
// null, // 鐗╂枡缂栧彿[闈炵┖]
+// null, // 鎵瑰彿
// null, // 鍘熺鏁�
// null, // 鍘熸暟閲�
// null, // 鍘熼噸閲�
@@ -153,17 +161,6 @@
// null // 娣诲姞鏃堕棿
// );
- public Long getAdjId() {
- return adjId;
- }
-
- public void setAdjId(Long adjId) {
- this.adjId = adjId;
- }
-
- public String getLocNo() {
- return locNo;
- }
public String getLocNo$(){
LocMastService service = SpringUtils.getBean(LocMastService.class);
@@ -174,86 +171,6 @@
return null;
}
- public void setLocNo(String locNo) {
- this.locNo = locNo;
- }
-
- public String getMatNo() {
- return matNo;
- }
-
- public String getMatNo$(){
- MatService service = SpringUtils.getBean(MatService.class);
- Mat mat = service.selectByMatnr(this.matNo);
- if (!Cools.isEmpty(mat)){
- return String.valueOf(mat.getMatnr());
- }
- return null;
- }
-
- public void setMatNo(String matNo) {
- this.matNo = matNo;
- }
-
- public Double getOriCtns() {
- return oriCtns;
- }
-
- public void setOriCtns(Double oriCtns) {
- this.oriCtns = oriCtns;
- }
-
- public Double getOriQty() {
- return oriQty;
- }
-
- public void setOriQty(Double oriQty) {
- this.oriQty = oriQty;
- }
-
- public Double getOriWt() {
- return oriWt;
- }
-
- public void setOriWt(Double oriWt) {
- this.oriWt = oriWt;
- }
-
- public Double getAdjCtns() {
- return adjCtns;
- }
-
- public void setAdjCtns(Double adjCtns) {
- this.adjCtns = adjCtns;
- }
-
- public Double getAdjQty() {
- return adjQty;
- }
-
- public void setAdjQty(Double adjQty) {
- this.adjQty = adjQty;
- }
-
- public Double getAdjWt() {
- return adjWt;
- }
-
- public void setAdjWt(Double adjWt) {
- this.adjWt = adjWt;
- }
-
- public String getMemo() {
- return memo;
- }
-
- public void setMemo(String memo) {
- this.memo = memo;
- }
-
- public Long getModiUser() {
- return modiUser;
- }
public String getModiUser$(){
UserService service = SpringUtils.getBean(UserService.class);
@@ -264,35 +181,11 @@
return null;
}
- public void setModiUser(Long modiUser) {
- this.modiUser = modiUser;
- }
-
- public Date getModiTime() {
- return modiTime;
- }
-
public String getModiTime$(){
if (Cools.isEmpty(this.modiTime)){
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
- }
-
- public void setModiTime(Date modiTime) {
- this.modiTime = modiTime;
- }
-
- public Long getAppeUser() {
- return appeUser;
- }
-
- public void setAppeUser(Long appeUser) {
- this.appeUser = appeUser;
- }
-
- public Date getAppeTime() {
- return appeTime;
}
public String getAppeTime$(){
@@ -301,10 +194,5 @@
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
}
-
- public void setAppeTime(Date appeTime) {
- this.appeTime = appeTime;
- }
-
}
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 d257470..ec01caa 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -584,80 +584,118 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException("搴撲綅涓嶅瓨鍦�");
}
- for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
- if (Cools.isEmpty(adjust.getMatnr())) {
- throw new CoolException(BaseRes.PARAM);
- }
- LocDetl sqlParam = new LocDetl();
- sqlParam.setLocNo(locMast.getLocNo());
- sqlParam.setMatnr(adjust.getMatnr());
- LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
- // 淇濆瓨鏂板簱瀛樻槑缁�
- if (Cools.isEmpty(one)) {
- if (adjust.getCount() == 0){
- continue;
- }
- Mat mat = matService.selectByMatnr(adjust.getMatnr());
- LocDetl locDetl = new LocDetl();
- locDetl.sync(mat);
- locDetl.setLocNo(locMast.getLocNo());
- locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
- locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
- locDetl.setModiTime(new Date());
- locDetl.setAppeUser(userId);
- locDetl.setAppeTime(new Date());
- if (!locDetlService.insert(locDetl)) {
- throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
- }
- // 淇濆瓨璋冩暣璁板綍
- AdjDetl adjDetl = new AdjDetl();
- adjDetl.setLocNo(locDetl.getLocNo());
- adjDetl.setMatNo(locDetl.getMatnr());
- adjDetl.setOriQty(0.0D);
- adjDetl.setAdjQty(adjust.getCount());
- adjDetlService.save(adjDetl, userId);
- // 淇敼鍘熷簱瀛樻槑缁�
- } else {
- // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏
- if (!adjust.getCount().equals(one.getAnfme())) {
- // 褰撴暟閲忚淇敼涓� 0 鏃讹紝鐩存帴娓呴櫎搴撳瓨鏄庣粏
- if (adjust.getCount() == 0) {
- // 鍒犻櫎搴撳瓨
- if (!locDetlService.delete(new EntityWrapper<>(one))) {
- throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触");
+ if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
+ throw new CoolException("褰撳墠搴撲綅涓嶅彲璋冩暣锛佸簱浣嶇姸鎬侊細" + locMast.getLocSts$());
+ }
+
+ Date now = new Date();
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo()));
+
+ List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
+
+ // 淇敼鏁伴噺
+ Iterator<LocDetl> iterator = locDetls.iterator();
+ while (iterator.hasNext()) {
+ LocDetl locDetl = iterator.next();
+
+ Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator();
+ while (iterator1.hasNext()) {
+ LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
+ if (adjust.getCount() == 0) { continue; }
+ if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) {
+ if (!locDetl.getAnfme().equals(adjust.getCount())) {
+ // todo 鐩樼偣璁板綍
+ // 淇敼搴撳瓨
+ if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
}
- } else {
- LocDetl sqlParam1 = new LocDetl();
- sqlParam1.setAnfme(adjust.getCount());
- sqlParam1.setModiTime(new Date());
- sqlParam1.setModiUser(userId);
- if (!locDetlService.update(sqlParam1, new EntityWrapper<LocDetl>()
- .eq("loc_no", locMast.getLocNo())
- .eq("matnr", adjust.getMatnr()))) {
- throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触");
- }
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locDetl.getLocNo());
+ adjDetl.setMatnr(locDetl.getMatnr());
+ adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setOriQty(locDetl.getAnfme());
+ adjDetl.setAdjQty(adjust.getCount());
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(userId);
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(userId);
+ adjDetlService.save(adjDetl, userId);
}
- // 淇濆瓨璋冩暣璁板綍
- AdjDetl adjDetl = new AdjDetl();
- adjDetl.setLocNo(locMast.getLocNo());
- adjDetl.setMatNo(adjust.getMatnr());
- adjDetl.setOriQty(one.getAnfme());
- adjDetl.setAdjQty(adjust.getCount());
- adjDetlService.save(adjDetl, userId);
+ iterator.remove();
+ iterator1.remove();
}
}
}
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo()));
- if (locDetls.isEmpty()) {
- locMast.setLocSts("D");
- locMast.setModiUser(userId);
- locMast.setModiTime(new Date());
- if (!locMastService.updateById(locMast)) {
- throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+
+ // 鍒犻櫎搴撳瓨
+ for (LocDetl locDetl : locDetls) {
+ // todo 鐩樼偣璁板綍
+ if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触");
}
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locDetl.getLocNo());
+ adjDetl.setMatnr(locDetl.getMatnr());
+ adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setOriQty(locDetl.getAnfme());
+ adjDetl.setAdjQty(0.0D);
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(userId);
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(userId);
+ adjDetlService.save(adjDetl, userId);
+ }
+
+ // 娣诲姞搴撳瓨
+ for (LocDetlAdjustParam.LocDetlAdjust adjust : list) {
+ if (adjust.getCount() == 0.0D) { continue; }
+ Mat mat = matService.selectByMatnr(adjust.getMatnr());
+ LocDetl locDetl = new LocDetl();
+ locDetl.sync(mat);
+ locDetl.setLocNo(locMast.getLocNo());
+ locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
+ locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
+ locDetl.setModiTime(now);
+ locDetl.setAppeUser(userId);
+ locDetl.setAppeTime(now);
+ if (!locDetlService.insert(locDetl)) {
+ throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
+ }
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locMast.getLocNo());
+ adjDetl.setMatnr(adjust.getMatnr());
+ adjDetl.setBatch(adjust.getBatch());
+ adjDetl.setOriQty(0.0D);
+ adjDetl.setAdjQty(adjust.getCount());
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(userId);
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(userId);
+ adjDetlService.save(adjDetl, userId);
+ }
+ // 淇敼搴撲綅鐘舵��
+ int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+ if (locMast.getLocSts().equals("F")) {
+ if (count == 0) {
+ locMast.setLocSts("D");
+ }
+ }
+ if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) {
+ if (count > 0) {
+ locMast.setLocSts("F");
+ }
+ }
+ locMast.setModiUser(userId);
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
}
}
+
@Override
@Transactional
public void cancelWrkMast(String workNo, Long userId) {
diff --git a/src/main/resources/mapper/AdjDetlMapper.xml b/src/main/resources/mapper/AdjDetlMapper.xml
index cacf728..dd97389 100644
--- a/src/main/resources/mapper/AdjDetlMapper.xml
+++ b/src/main/resources/mapper/AdjDetlMapper.xml
@@ -6,7 +6,8 @@
<resultMap id="BaseResultMap" type="com.zy.asrs.entity.AdjDetl">
<id column="adj_id" property="adjId" />
<result column="loc_no" property="locNo" />
- <result column="mat_no" property="matNo" />
+ <result column="matnr" property="matnr" />
+ <result column="batch" property="batch" />
<result column="ori_ctns" property="oriCtns" />
<result column="ori_qty" property="oriQty" />
<result column="ori_wt" property="oriWt" />
--
Gitblit v1.9.1