diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/IssueItemController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/IssueItemController.java
index d407900d..165e25b0 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/IssueItemController.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/IssueItemController.java
@@ -32,11 +32,11 @@ public class IssueItemController {
@ResponseBody
@GetMapping("/scanIssueInventory")
- public R scanIssueInventory(String item, String inventory){
+ public R scanIssueInventory(String item, String inventory, Boolean oddments){
Map result;
try {
String site = CommonMethods.getSite();
- result = issueItemService.scanIssueInventory(site, item, inventory);
+ result = issueItemService.scanIssueInventory(site, item, inventory, oddments);
} catch (Exception e) {
return R.failed(e.getMessage());
}
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusInventoryController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusInventoryController.java
new file mode 100644
index 00000000..7af66d7d
--- /dev/null
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusInventoryController.java
@@ -0,0 +1,126 @@
+package com.foreverwin.mesnac.dispatch.controller;
+
+import com.foreverwin.modular.core.util.R;
+import com.foreverwin.modular.core.util.FrontPage;
+import com.foreverwin.modular.core.util.CommonMethods;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import com.foreverwin.mesnac.dispatch.service.SurplusInventoryService;
+import com.foreverwin.mesnac.dispatch.model.SurplusInventory;
+import java.util.List;
+
+/**
+ *
+ * @author Leon.L
+ * @since 2021-07-19
+ */
+@RestController
+@RequestMapping("/Z-SURPLUS-INVENTORY")
+public class SurplusInventoryController {
+
+ @Autowired
+ public SurplusInventoryService surplusInventoryService;
+
+ /**
+ * 根据id查询
+ *
+ * @param id 主键
+ * @return
+ */
+ @ResponseBody
+ @GetMapping("/{id:.+}")
+ public R getSurplusInventoryById(@PathVariable String id) {
+ return R.ok( surplusInventoryService.getById(id));
+ }
+
+ /**
+ * 查询所有数据
+ *
+ * @return
+ */
+ @ResponseBody
+ @GetMapping("")
+ public R getSurplusInventoryList(SurplusInventory surplusInventory){
+ List result;
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.setEntity(surplusInventory);
+ result = surplusInventoryService.list(queryWrapper);
+ return R.ok(result);
+ }
+
+ /**
+ * 分页查询数据
+ *
+ * @param frontPage 分页信息
+ * @return
+ */
+ @ResponseBody
+ @GetMapping("/page")
+ public R page(FrontPage frontPage, SurplusInventory surplusInventory){
+ IPage result;
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.setEntity(surplusInventory);
+ if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) {
+ //TODO modify global query
+ queryWrapper.lambda().and(wrapper -> wrapper
+ .like(SurplusInventory::getHandle, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getSite, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getParentInventory, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getInventory, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getItemBo, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getLenght, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getWidth, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getCreateUser, frontPage.getGlobalQuery())
+ .or().like(SurplusInventory::getModifyUser, frontPage.getGlobalQuery())
+ );
+ }
+ result = surplusInventoryService.page(frontPage.getPagePlus(), queryWrapper);
+ return R.ok(result);
+ }
+
+ /**
+ * 新增
+ * @param surplusInventory 传递的实体
+ * @return null 失败 实体成功
+ */
+ @PostMapping
+ public R save(@RequestBody SurplusInventory surplusInventory) {
+ return R.ok(surplusInventoryService.save(surplusInventory));
+ }
+
+ /**
+ * 修改
+ * @param surplusInventory 传递的实体
+ * @return null 失败 实体成功
+ */
+ @PutMapping
+ public R updateById(@RequestBody SurplusInventory surplusInventory) {
+ return R.ok(surplusInventoryService.updateById(surplusInventory));
+ }
+
+ /**
+ * 根据id删除对象
+ * @param id 实体ID
+ * @return 0 失败 1 成功
+ */
+ @ResponseBody
+ @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}")
+ public R removeById(@PathVariable("id") String id){
+ return R.ok(surplusInventoryService.removeById(id));
+ }
+
+ /**
+ * 批量删除对象
+ * @param ids 实体集合ID
+ * @return 0 失败 1 成功
+ */
+ @ResponseBody
+ @RequestMapping(method = RequestMethod.POST, value = "/delete-batch")
+ public R removeByIds(List ids){
+ return R.ok(surplusInventoryService.removeByIds(ids));
+ }
+}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusItemReturnController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusReturnController.java
similarity index 80%
rename from dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusItemReturnController.java
rename to dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusReturnController.java
index bb853024..6831ec47 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusItemReturnController.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusReturnController.java
@@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import com.foreverwin.mesnac.dispatch.service.SurplusItemReturnService;
-import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn;
+import com.foreverwin.mesnac.dispatch.service.SurplusReturnService;
+import com.foreverwin.mesnac.dispatch.model.SurplusReturn;
import java.math.BigDecimal;
import java.util.List;
@@ -21,15 +21,14 @@ import java.util.Map;
/**
*
* @author Leon.L
- * @since 2021-07-10
+ * @since 2021-07-19
*/
@RestController
-@RequestMapping("/Z-SURPLUS-ITEM-RETURN")
-public class SurplusItemReturnController {
+@RequestMapping("/Z-SURPLUS-RETURN")
+public class SurplusReturnController {
@Autowired
- public SurplusItemReturnService surplusItemReturnService;
-
+ public SurplusReturnService surplusReturnService;
@ResponseBody
@GetMapping("/{inventory:.+}")
@@ -42,7 +41,7 @@ public class SurplusItemReturnController {
}
String site = CommonMethods.getSite();
- result = surplusItemReturnService.getInventoryData(site, inventory);
+ result = surplusReturnService.getInventoryData(site, inventory);
} catch (Exception e) {
return R.failed(e.getMessage());
}
@@ -66,7 +65,7 @@ public class SurplusItemReturnController {
String site = CommonMethods.getSite();
String user = CommonMethods.getUser();
- surplusItemReturnService.surplusReturn(site, user, inventory, length, width, new BigDecimal(numbers), new BigDecimal(qty));
+ surplusReturnService.surplusReturn(site, user, inventory, length, width, new BigDecimal(numbers), new BigDecimal(qty));
} catch (Exception e) {
return R.failed(e.getMessage());
}
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/IssueItemMapper.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/IssueItemMapper.java
index b1f31b96..876851ea 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/IssueItemMapper.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/IssueItemMapper.java
@@ -4,8 +4,10 @@ import com.foreverwin.mesnac.dispatch.dto.IssueItemDto;
import com.foreverwin.mesnac.dispatch.model.CallItem;
import com.foreverwin.mesnac.dispatch.model.IssueItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -18,4 +20,6 @@ import java.util.List;
*/
@Repository
public interface IssueItemMapper extends BaseMapper {
+
+ BigDecimal selectInvIssueQty(@Param("site") String site, @Param("inventory") String inventory);
}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusInventoryMapper.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusInventoryMapper.java
new file mode 100644
index 00000000..b89872bc
--- /dev/null
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusInventoryMapper.java
@@ -0,0 +1,22 @@
+package com.foreverwin.mesnac.dispatch.mapper;
+
+import com.foreverwin.mesnac.dispatch.model.SurplusInventory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ *
+ * 余料库存 Mapper 接口
+ *
+ *
+ * @author Leon.L
+ * @since 2021-07-19
+ */
+@Repository
+public interface SurplusInventoryMapper extends BaseMapper {
+
+
+}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusItemReturnMapper.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusReturnMapper.java
similarity index 74%
rename from dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusItemReturnMapper.java
rename to dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusReturnMapper.java
index 136951ae..7a0f413d 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusItemReturnMapper.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusReturnMapper.java
@@ -1,6 +1,6 @@
package com.foreverwin.mesnac.dispatch.mapper;
-import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn;
+import com.foreverwin.mesnac.dispatch.model.SurplusReturn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -13,10 +13,10 @@ import java.util.Map;
*
*
* @author Leon.L
- * @since 2021-07-15
+ * @since 2021-07-19
*/
@Repository
-public interface SurplusItemReturnMapper extends BaseMapper {
+public interface SurplusReturnMapper extends BaseMapper {
/**
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusInventory.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusInventory.java
new file mode 100644
index 00000000..3c209ee9
--- /dev/null
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusInventory.java
@@ -0,0 +1,234 @@
+package com.foreverwin.mesnac.dispatch.model;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+
+/**
+ *
+ * 余料库存
+ *
+ *
+ * @author Leon.L
+ * @since 2021-07-19
+ */
+
+@TableName("Z_SURPLUS_INVENTORY")
+public class SurplusInventory extends Model {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "HANDLE", type = IdType.INPUT)
+ private String handle;
+ /**
+ * 站点
+ */
+ @TableField("SITE")
+ private String site;
+ /**
+ * 父库存批次
+ */
+ @TableField("PARENT_INVENTORY")
+ private String parentInventory;
+ /**
+ * 库存批次
+ */
+ @TableField("INVENTORY")
+ private String inventory;
+ /**
+ * 物料编号
+ */
+ @TableField("ITEM_BO")
+ private String itemBo;
+ /**
+ * 余料长度
+ */
+ @TableField("LENGHT")
+ private String lenght;
+ /**
+ * 余料宽度
+ */
+ @TableField("WIDTH")
+ private String width;
+ /**
+ * 余料数量
+ */
+ @TableField("QTY")
+ private BigDecimal qty;
+ /**
+ * 创建用户
+ */
+ @TableField("CREATE_USER")
+ private String createUser;
+ /**
+ * 创建时间
+ */
+ @TableField("CREATED_DATE_TIME")
+ private LocalDateTime createdDateTime;
+ /**
+ * 更新用户
+ */
+ @TableField("MODIFY_USER")
+ private String modifyUser;
+ /**
+ * 更新时间
+ */
+ @TableField("MODIFIED_DATE_TIME")
+ private LocalDateTime modifiedDateTime;
+
+
+ public String getHandle() {
+ return handle;
+ }
+
+ public void setHandle(String handle) {
+ this.handle = handle;
+ }
+
+ public String getSite() {
+ return site;
+ }
+
+ public void setSite(String site) {
+ this.site = site;
+ }
+
+ public String getParentInventory() {
+ return parentInventory;
+ }
+
+ public void setParentInventory(String parentInventory) {
+ this.parentInventory = parentInventory;
+ }
+
+ public String getInventory() {
+ return inventory;
+ }
+
+ public void setInventory(String inventory) {
+ this.inventory = inventory;
+ }
+
+ public String getItemBo() {
+ return itemBo;
+ }
+
+ public void setItemBo(String itemBo) {
+ this.itemBo = itemBo;
+ }
+
+ public String getLenght() {
+ return lenght;
+ }
+
+ public void setLenght(String lenght) {
+ this.lenght = lenght;
+ }
+
+ public String getWidth() {
+ return width;
+ }
+
+ public void setWidth(String width) {
+ this.width = width;
+ }
+
+ public BigDecimal getQty() {
+ return qty;
+ }
+
+ public void setQty(BigDecimal qty) {
+ this.qty = qty;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public LocalDateTime getCreatedDateTime() {
+ return createdDateTime;
+ }
+
+ public void setCreatedDateTime(LocalDateTime createdDateTime) {
+ this.createdDateTime = createdDateTime;
+ }
+
+ public String getModifyUser() {
+ return modifyUser;
+ }
+
+ public void setModifyUser(String modifyUser) {
+ this.modifyUser = modifyUser;
+ }
+
+ public LocalDateTime getModifiedDateTime() {
+ return modifiedDateTime;
+ }
+
+ public void setModifiedDateTime(LocalDateTime modifiedDateTime) {
+ this.modifiedDateTime = modifiedDateTime;
+ }
+
+public static final String HANDLE = "HANDLE";
+
+public static final String SITE = "SITE";
+
+public static final String PARENT_INVENTORY = "PARENT_INVENTORY";
+
+public static final String INVENTORY = "INVENTORY";
+
+public static final String ITEM_BO = "ITEM_BO";
+
+public static final String LENGHT = "LENGHT";
+
+public static final String WIDTH = "WIDTH";
+
+public static final String QTY = "QTY";
+
+public static final String CREATE_USER = "CREATE_USER";
+
+public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
+
+public static final String MODIFY_USER = "MODIFY_USER";
+
+public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
+
+
+ @Override
+ protected Serializable pkVal() {
+ return this.handle;
+ }
+
+ @Override
+ public String toString() {
+ return "SurplusInventory{" +
+ "handle = " + handle +
+ ", site = " + site +
+ ", parentInventory = " + parentInventory +
+ ", inventory = " + inventory +
+ ", itemBo = " + itemBo +
+ ", lenght = " + lenght +
+ ", width = " + width +
+ ", qty = " + qty +
+ ", createUser = " + createUser +
+ ", createdDateTime = " + createdDateTime +
+ ", modifyUser = " + modifyUser +
+ ", modifiedDateTime = " + modifiedDateTime +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusItemReturn.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusReturn.java
similarity index 83%
rename from dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusItemReturn.java
rename to dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusReturn.java
index 51212886..dac979de 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusItemReturn.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusReturn.java
@@ -18,11 +18,11 @@ import com.baomidou.mybatisplus.annotation.IdType;
*
*
* @author Leon.L
- * @since 2021-07-15
+ * @since 2021-07-19
*/
-@TableName("Z_SURPLUS_ITEM_RETURN")
-public class SurplusItemReturn extends Model {
+@TableName("Z_SURPLUS_RETURN")
+public class SurplusReturn extends Model {
private static final long serialVersionUID = 1L;
@@ -36,16 +36,16 @@ public class SurplusItemReturn extends Model {
*/
@TableField("SITE")
private String site;
- /**
- * 库存批次
- */
- @TableField("INVENTORY")
- private String inventory;
/**
* 父库存批次
*/
@TableField("PARENT_INVENTORY")
private String parentInventory;
+ /**
+ * 库存批次
+ */
+ @TableField("INVENTORY")
+ private String inventory;
/**
* 物料编号
*/
@@ -109,14 +109,6 @@ public class SurplusItemReturn extends Model {
this.site = site;
}
- public String getInventory() {
- return inventory;
- }
-
- public void setInventory(String inventory) {
- this.inventory = inventory;
- }
-
public String getParentInventory() {
return parentInventory;
}
@@ -125,6 +117,14 @@ public class SurplusItemReturn extends Model {
this.parentInventory = parentInventory;
}
+ public String getInventory() {
+ return inventory;
+ }
+
+ public void setInventory(String inventory) {
+ this.inventory = inventory;
+ }
+
public String getItemBo() {
return itemBo;
}
@@ -197,31 +197,31 @@ public class SurplusItemReturn extends Model {
this.modifiedDateTime = modifiedDateTime;
}
- public static final String HANDLE = "HANDLE";
+public static final String HANDLE = "HANDLE";
- public static final String SITE = "SITE";
+public static final String SITE = "SITE";
- public static final String INVENTORY = "INVENTORY";
+public static final String PARENT_INVENTORY = "PARENT_INVENTORY";
- public static final String PARENT_INVENTORY = "PARENT_INVENTORY";
+public static final String INVENTORY = "INVENTORY";
- public static final String ITEM_BO = "ITEM_BO";
+public static final String ITEM_BO = "ITEM_BO";
- public static final String LENGHT = "LENGHT";
+public static final String LENGHT = "LENGHT";
- public static final String WIDTH = "WIDTH";
+public static final String WIDTH = "WIDTH";
- public static final String NUMBERS = "NUMBERS";
+public static final String NUMBERS = "NUMBERS";
- public static final String QTY = "QTY";
+public static final String QTY = "QTY";
- public static final String CREATE_USER = "CREATE_USER";
+public static final String CREATE_USER = "CREATE_USER";
- public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
+public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
- public static final String MODIFY_USER = "MODIFY_USER";
+public static final String MODIFY_USER = "MODIFY_USER";
- public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
+public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
@Override
@@ -231,11 +231,11 @@ public class SurplusItemReturn extends Model {
@Override
public String toString() {
- return "SurplusItemReturn{" +
+ return "SurplusReturn{" +
"handle = " + handle +
", site = " + site +
- ", inventory = " + inventory +
", parentInventory = " + parentInventory +
+ ", inventory = " + inventory +
", itemBo = " + itemBo +
", lenght = " + lenght +
", width = " + width +
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/IssueItemService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/IssueItemService.java
index e606baaf..2ce503fb 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/IssueItemService.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/IssueItemService.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.dispatch.model.IssueItem;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.math.BigDecimal;
import java.util.Map;
@@ -17,6 +18,15 @@ import java.util.Map;
*/
public interface IssueItemService extends IService {
+ /**
+ * 查询库存已发料的总数量
+ *
+ * @param site
+ * @param inventory
+ * @return
+ */
+ BigDecimal getInvIssueQty(String site, String inventory);
+
/**
* 校验扫描的物料条码
* 1.原材料-扫描的必须是ERP发送的物料批次
@@ -28,7 +38,7 @@ public interface IssueItemService extends IService {
* @param inventory
* @return
*/
- Map scanIssueInventory(String site, String item, String inventory);
+ Map scanIssueInventory(String site, String item, String inventory, Boolean oddments);
/**
* 发料
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusInventoryService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusInventoryService.java
new file mode 100644
index 00000000..d132317d
--- /dev/null
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusInventoryService.java
@@ -0,0 +1,28 @@
+package com.foreverwin.mesnac.dispatch.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.foreverwin.mesnac.dispatch.model.SurplusInventory;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.foreverwin.modular.core.util.FrontPage;
+
+import java.util.List;
+
+/**
+ *
+ * 余料库存 服务类
+ *
+ *
+ * @author Leon.L
+ * @since 2021-07-19
+ */
+public interface SurplusInventoryService extends IService {
+
+ /**
+ * 分页查询
+ * @param frontPage
+ * @return
+ */
+ IPage selectPage(FrontPage frontPage, SurplusInventory surplusInventory);
+
+ List selectList(SurplusInventory surplusInventory);
+}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusItemReturnService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusReturnService.java
similarity index 83%
rename from dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusItemReturnService.java
rename to dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusReturnService.java
index 43c3bee3..bfc41fe4 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusItemReturnService.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusReturnService.java
@@ -1,8 +1,7 @@
package com.foreverwin.mesnac.dispatch.service;
-import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn;
+import com.foreverwin.mesnac.dispatch.model.SurplusReturn;
import com.baomidou.mybatisplus.extension.service.IService;
-
import java.math.BigDecimal;
import java.util.Map;
@@ -12,9 +11,9 @@ import java.util.Map;
*
*
* @author Leon.L
- * @since 2021-07-10
+ * @since 2021-07-19
*/
-public interface SurplusItemReturnService extends IService {
+public interface SurplusReturnService extends IService {
/**
* 查询库存信息
@@ -40,4 +39,5 @@ public interface SurplusItemReturnService extends IService {
* @param qty
*/
void surplusReturn(String site, String user, String inventory, String length, String width, BigDecimal numbers, BigDecimal qty);
+
}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java
index 285e4c5a..cc09551b 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java
@@ -12,13 +12,17 @@ import com.foreverwin.mesnac.dispatch.model.CallItem;
import com.foreverwin.mesnac.dispatch.model.IssueItem;
import com.foreverwin.mesnac.dispatch.mapper.IssueItemMapper;
import com.foreverwin.mesnac.dispatch.model.ItemBatch;
+import com.foreverwin.mesnac.dispatch.model.SurplusInventory;
import com.foreverwin.mesnac.dispatch.service.CallItemService;
import com.foreverwin.mesnac.dispatch.service.IssueItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.dispatch.service.ItemBatchService;
+import com.foreverwin.mesnac.dispatch.service.SurplusInventoryService;
import com.foreverwin.mesnac.meapi.model.Inventory;
+import com.foreverwin.mesnac.meapi.model.InventoryAssyData;
import com.foreverwin.mesnac.meapi.model.Item;
import com.foreverwin.mesnac.meapi.model.Sfc;
+import com.foreverwin.mesnac.meapi.service.InventoryAssyDataService;
import com.foreverwin.mesnac.meapi.service.InventoryService;
import com.foreverwin.mesnac.meapi.service.ItemService;
import com.foreverwin.mesnac.meapi.service.SfcService;
@@ -53,15 +57,26 @@ public class IssueItemServiceImpl extends ServiceImpl scanIssueInventory(String site, String item, String inventory) {
+ public BigDecimal getInvIssueQty(String site, String inventory) {
+ BigDecimal qty = issueItemMapper.selectInvIssueQty(site, inventory);
+
+ return qty = qty == null ? BigDecimal.ZERO : qty;
+ }
+
+ @Override
+ public Map scanIssueInventory(String site, String item, String inventory, Boolean oddments) {
Item itemModel = itemService.selectCurrent(site, item);
if (itemModel == null) {
throw BusinessException.build("物料【" +item+"】的当前版本不存在!");
@@ -104,6 +119,15 @@ public class IssueItemServiceImpl extends ServiceImpl queryMap = new HashMap<>();
+ queryMap.put(SurplusInventory.SITE, site);
+ queryMap.put(SurplusInventory.PARENT_INVENTORY, inventory);
+ List list = (List) surplusInventoryService.listByMap(queryMap);
+ map.put("wlList", list);
+ }
return map;
}
@@ -207,7 +231,10 @@ public class IssueItemServiceImpl extends ServiceImpl list = callItemService.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item);
+ if (list == null || list.size() <= 0) {
+ throw BusinessException.build("根据发料数据未找到发料记录!");
+ }
+
+ BigDecimal remainQty = new BigDecimal(qty);
+ for (CallItem callItem: list) {
+ BigDecimal issueQty = callItem.getIssueQty();
+ BigDecimal requiredQty = callItem.getRequiredQty();
+ //还需发料数量
+ requiredQty = requiredQty.subtract(issueQty);
+ if (remainQty.compareTo(requiredQty) == 1) {
+ issueQty = issueQty.add(requiredQty);
+ } else {
+ issueQty = issueQty.add(remainQty);
+ }
+
+ //叫料数据修改
+ if (issueQty.compareTo(requiredQty) >= 0) {
+ callItem.setStatus(Constants.CALL_ITEM_STATUS_ISSUED);
+ }
+ callItem.setIssueQty(issueQty);
+ callItem.setModifyUser(user);
+ callItem.setModifiedDateTime(dateTime);
+ callItemList.add(callItem);
+
+ remainQty = remainQty.subtract(requiredQty);
+ if (remainQty.compareTo(BigDecimal.ZERO) <= 0) {
+ break;
+ }
+ }
+
+ //发料明细记录
+ IssueItem issueItem = new IssueItem();
+ issueItem.setHandle("IssueItemBO:" + site + "," + UUID.randomUUID().toString());
+ issueItem.setSite(site);
+ issueItem.setItem(item);
+ issueItem.setInventory(inventory);
+ issueItem.setQty(new BigDecimal(qty));
+ issueItem.setCreateUser(user);
+ issueItem.setCreatedDateTime(dateTime);
+ issueItem.setModifyUser(user);
+ issueItem.setModifiedDateTime(dateTime);
+ issueItemList.add(issueItem);
+ }
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusInventoryServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusInventoryServiceImpl.java
new file mode 100644
index 00000000..825f40f4
--- /dev/null
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusInventoryServiceImpl.java
@@ -0,0 +1,44 @@
+package com.foreverwin.mesnac.dispatch.service.impl;
+
+import com.foreverwin.modular.core.util.FrontPage;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.foreverwin.mesnac.dispatch.model.SurplusInventory;
+import com.foreverwin.mesnac.dispatch.mapper.SurplusInventoryMapper;
+import com.foreverwin.mesnac.dispatch.service.SurplusInventoryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+/**
+ *
+ * 余料库存 服务实现类
+ *
+ *
+ * @author Leon.L
+ * @since 2021-07-19
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class SurplusInventoryServiceImpl extends ServiceImpl implements SurplusInventoryService {
+
+
+ @Autowired
+ private SurplusInventoryMapper surplusInventoryMapper;
+
+ @Override
+ public IPage selectPage(FrontPage frontPage, SurplusInventory surplusInventory) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.setEntity(surplusInventory);
+ return super.page(frontPage.getPagePlus(), queryWrapper);
+ }
+
+ @Override
+ public List selectList(SurplusInventory surplusInventory) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.setEntity(surplusInventory);
+ return super.list(queryWrapper);
+ }
+}
\ No newline at end of file
diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusItemReturnServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusReturnServiceImpl.java
similarity index 73%
rename from dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusItemReturnServiceImpl.java
rename to dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusReturnServiceImpl.java
index 54b75405..b65bdc1c 100644
--- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusItemReturnServiceImpl.java
+++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusReturnServiceImpl.java
@@ -1,20 +1,22 @@
package com.foreverwin.mesnac.dispatch.service.impl;
import com.foreverwin.mesnac.common.enums.HandleEnum;
-import com.foreverwin.mesnac.common.util.ExcelUtils;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.NumberUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
+import com.foreverwin.mesnac.dispatch.model.SurplusInventory;
+import com.foreverwin.mesnac.dispatch.service.SurplusInventoryService;
import com.foreverwin.mesnac.meapi.model.Inventory;
+import com.foreverwin.mesnac.meapi.service.InventoryAssyDataService;
import com.foreverwin.mesnac.meapi.service.InventoryService;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.meext.MEServices;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn;
-import com.foreverwin.mesnac.dispatch.mapper.SurplusItemReturnMapper;
-import com.foreverwin.mesnac.dispatch.service.SurplusItemReturnService;
+import com.foreverwin.mesnac.dispatch.model.SurplusReturn;
+import com.foreverwin.mesnac.dispatch.mapper.SurplusReturnMapper;
+import com.foreverwin.mesnac.dispatch.service.SurplusReturnService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sap.me.inventory.InventoryServiceInterface;
import com.sap.me.inventory.InventorySplitRequest;
@@ -36,17 +38,19 @@ import java.util.UUID;
*
*
* @author Leon.L
- * @since 2021-07-10
+ * @since 2021-07-19
*/
@Service
@Transactional(rollbackFor = Exception.class)
-public class SurplusItemReturnServiceImpl extends ServiceImpl implements SurplusItemReturnService {
+public class SurplusReturnServiceImpl extends ServiceImpl implements SurplusReturnService {
@Autowired
private InventoryService inventoryService;
@Autowired
- private SurplusItemReturnMapper surplusItemReturnMapper;
+ private SurplusReturnMapper surplusReturnMapper;
+ @Autowired
+ private SurplusInventoryService surplusInventoryService;
@Override
@@ -61,7 +65,7 @@ public class SurplusItemReturnServiceImpl extends ServiceImpl map = surplusItemReturnMapper.selectInventoryData(inventoryBo);
+ Map map = surplusReturnMapper.selectInventoryData(inventoryBo);
if (map == null || map.size() <= 0) {
throw BusinessException.build("物料条码【" + inventory +"】不存在!");
}
@@ -134,9 +138,33 @@ public class SurplusItemReturnServiceImpl extends ServiceImpl
+
diff --git a/dispatch/src/main/resources/mapper/SurplusInventoryMapper.xml b/dispatch/src/main/resources/mapper/SurplusInventoryMapper.xml
new file mode 100644
index 00000000..934ee794
--- /dev/null
+++ b/dispatch/src/main/resources/mapper/SurplusInventoryMapper.xml
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HANDLE, SITE, PARENT_INVENTORY, INVENTORY, ITEM_BO, LENGHT, WIDTH, QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO Z_SURPLUS_INVENTORY
+
+ HANDLE,
+ SITE,
+ PARENT_INVENTORY,
+ INVENTORY,
+ ITEM_BO,
+ LENGHT,
+ WIDTH,
+ QTY,
+ CREATE_USER,
+ CREATED_DATE_TIME,
+ MODIFY_USER,
+ MODIFIED_DATE_TIME,
+ VALUES
+
+ #{handle},
+ #{site},
+ #{parentInventory},
+ #{inventory},
+ #{itemBo},
+ #{lenght},
+ #{width},
+ #{qty},
+ #{createUser},
+ #{createdDateTime},
+ #{modifyUser},
+ #{modifiedDateTime},
+
+
+
+
+ INSERT INTO Z_SURPLUS_INVENTORY
+
+
+ VALUES
+
+ #{handle},
+ #{site},
+ #{parentInventory},
+ #{inventory},
+ #{itemBo},
+ #{lenght},
+ #{width},
+ #{qty},
+ #{createUser},
+ #{createdDateTime},
+ #{modifyUser},
+ #{modifiedDateTime},
+
+
+
+
+
+ UPDATE Z_SURPLUS_INVENTORY
+ SITE=#{et.site},
+ PARENT_INVENTORY=#{et.parentInventory},
+ INVENTORY=#{et.inventory},
+ ITEM_BO=#{et.itemBo},
+ LENGHT=#{et.lenght},
+ WIDTH=#{et.width},
+ QTY=#{et.qty},
+ CREATE_USER=#{et.createUser},
+ CREATED_DATE_TIME=#{et.createdDateTime},
+ MODIFY_USER=#{et.modifyUser},
+ MODIFIED_DATE_TIME=#{et.modifiedDateTime},
+ WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}
+
+
+
+
+ UPDATE Z_SURPLUS_INVENTORY
+ SITE=#{et.site},
+ PARENT_INVENTORY=#{et.parentInventory},
+ INVENTORY=#{et.inventory},
+ ITEM_BO=#{et.itemBo},
+ LENGHT=#{et.lenght},
+ WIDTH=#{et.width},
+ QTY=#{et.qty},
+ CREATE_USER=#{et.createUser},
+ CREATED_DATE_TIME=#{et.createdDateTime},
+ MODIFY_USER=#{et.modifyUser},
+ MODIFIED_DATE_TIME=#{et.modifiedDateTime},
+ WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}
+
+
+
+
+ UPDATE Z_SURPLUS_INVENTORY
+ SITE=#{et.site},
+ PARENT_INVENTORY=#{et.parentInventory},
+ INVENTORY=#{et.inventory},
+ ITEM_BO=#{et.itemBo},
+ LENGHT=#{et.lenght},
+ WIDTH=#{et.width},
+ QTY=#{et.qty},
+ CREATE_USER=#{et.createUser},
+ CREATED_DATE_TIME=#{et.createdDateTime},
+ MODIFY_USER=#{et.modifyUser},
+ MODIFIED_DATE_TIME=#{et.modifiedDateTime},
+
+
+
+
+ HANDLE=#{ew.entity.handle}
+ AND SITE=#{ew.entity.site}
+ AND PARENT_INVENTORY=#{ew.entity.parentInventory}
+ AND INVENTORY=#{ew.entity.inventory}
+ AND ITEM_BO=#{ew.entity.itemBo}
+ AND LENGHT=#{ew.entity.lenght}
+ AND WIDTH=#{ew.entity.width}
+ AND QTY=#{ew.entity.qty}
+ AND CREATE_USER=#{ew.entity.createUser}
+ AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}
+ AND MODIFY_USER=#{ew.entity.modifyUser}
+ AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}
+
+
+ ${ew.sqlSegment}
+
+
+
+
+ ${ew.sqlSegment}
+
+
+
+
+ DELETE FROM Z_SURPLUS_INVENTORY WHERE HANDLE=#{handle}
+
+
+
+ DELETE FROM Z_SURPLUS_INVENTORY
+
+
+
+
+ ${k} = #{cm[${k}]}
+
+
+
+
+
+
+
+ DELETE FROM Z_SURPLUS_INVENTORY
+
+
+
+
+ HANDLE=#{ew.entity.handle}
+
+ AND SITE=#{ew.entity.site}
+ AND PARENT_INVENTORY=#{ew.entity.parentInventory}
+ AND INVENTORY=#{ew.entity.inventory}
+ AND ITEM_BO=#{ew.entity.itemBo}
+ AND LENGHT=#{ew.entity.lenght}
+ AND WIDTH=#{ew.entity.width}
+ AND QTY=#{ew.entity.qty}
+ AND CREATE_USER=#{ew.entity.createUser}
+ AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}
+ AND MODIFY_USER=#{ew.entity.modifyUser}
+ AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}
+
+
+ ${ew.sqlSegment}
+
+
+
+
+ ${ew.sqlSegment}
+
+
+
+
+ DELETE FROM Z_SURPLUS_INVENTORY WHERE HANDLE IN (
+ #{item}
+ )
+
+
+
diff --git a/dispatch/src/main/resources/mapper/SurplusItemReturnMapper.xml b/dispatch/src/main/resources/mapper/SurplusReturnMapper.xml
similarity index 88%
rename from dispatch/src/main/resources/mapper/SurplusItemReturnMapper.xml
rename to dispatch/src/main/resources/mapper/SurplusReturnMapper.xml
index 57f5513a..ce8f1eab 100644
--- a/dispatch/src/main/resources/mapper/SurplusItemReturnMapper.xml
+++ b/dispatch/src/main/resources/mapper/SurplusReturnMapper.xml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
@@ -21,17 +21,17 @@
- HANDLE, SITE, INVENTORY, PARENT_INVENTORY, ITEM_BO, LENGHT, WIDTH, NUMBERS, QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME
+ HANDLE, SITE, PARENT_INVENTORY, INVENTORY, ITEM_BO, LENGHT, WIDTH, NUMBERS, QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME