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 new file mode 100644 index 00000000..b74f6038 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/IssueItemController.java @@ -0,0 +1,40 @@ +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.IssueItemService; +import com.foreverwin.mesnac.dispatch.model.IssueItem; +import java.util.List; + +/** + * + * @author Leon.L + * @since 2021-07-09 + */ +@RestController +@RequestMapping("/Z-ISSUE-ITEM") +public class IssueItemController { + + @Autowired + public IssueItemService issueItemService; + + @ResponseBody + @GetMapping("/scanIssueInventory") + public R scanIssueInventory(String item, String inventory){ + try { + String site = CommonMethods.getSite(); + issueItemService.scanIssueInventory(site, item, inventory); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + + return R.ok(); + } +} \ 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/SurplusItemReturnController.java new file mode 100644 index 00000000..22a6c699 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SurplusItemReturnController.java @@ -0,0 +1,51 @@ +package com.foreverwin.mesnac.dispatch.controller; + +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.modular.core.exception.BusinessException; +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.SurplusItemReturnService; +import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn; +import java.util.List; +import java.util.Map; + +/** + * + * @author Leon.L + * @since 2021-07-10 + */ +@RestController +@RequestMapping("/Z-SURPLUS-ITEM-RETURN") +public class SurplusItemReturnController { + + @Autowired + public SurplusItemReturnService surplusItemReturnService; + + + @ResponseBody + @GetMapping("/{inventory:.+}") + public R getInventoryData(@PathVariable String inventory) { + Map result; + + try { + if (StringUtil.isBlank(inventory)) { + throw BusinessException.build("物料条码不能为空!"); + } + + String site = CommonMethods.getSite(); + result = surplusItemReturnService.getInventoryData(site, inventory); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + + return R.ok(result); + } + +} \ No newline at end of file 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 new file mode 100644 index 00000000..96b29fa7 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/IssueItemMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.dispatch.mapper; + +import com.foreverwin.mesnac.dispatch.model.IssueItem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 车间发料 Mapper 接口 + *

+ * + * @author Leon.L + * @since 2021-07-09 + */ +@Repository +public interface IssueItemMapper 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/SurplusItemReturnMapper.java new file mode 100644 index 00000000..ae208394 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SurplusItemReturnMapper.java @@ -0,0 +1,28 @@ +package com.foreverwin.mesnac.dispatch.mapper; + +import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.Map; + +/** + *

+ * 余料退回 Mapper 接口 + *

+ * + * @author Leon.L + * @since 2021-07-10 + */ +@Repository +public interface SurplusItemReturnMapper extends BaseMapper { + + /** + * 查询库存信息 + * + * @param inventoryBo + * @return + */ + Map selectInventoryData(@Param("inventoryBo") String inventoryBo); +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/IssueItem.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/IssueItem.java new file mode 100644 index 00000000..f23c701e --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/IssueItem.java @@ -0,0 +1,232 @@ +package com.foreverwin.mesnac.dispatch.model; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +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-09 + */ + +@TableName("Z_ISSUE_ITEM") + +public class IssueItem extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableField("HANDLE") + private String handle; + /** + * 站点 + */ + @TableField("SITE") + private String site; + /** + * 叫料单号 + */ + @TableField("CALL_ITEM_NO") + private String callItemNo; + /** + * 生产批次 + */ + @TableField("SHOP_ORDER") + private String shopOrder; + /** + * 生产批次 + */ + @TableField("SFC") + private String sfc; + /** + * 组件物料 + */ + @TableField("ITEM") + private String item; + /** + * 库存编号 + */ + @TableField("INVENTORY") + private String inventory; + /** + * 发料数量 + */ + @TableField("QTY") + private Double 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 getCallItemNo() { + return callItemNo; + } + + public void setCallItemNo(String callItemNo) { + this.callItemNo = callItemNo; + } + + public String getShopOrder() { + return shopOrder; + } + + public void setShopOrder(String shopOrder) { + this.shopOrder = shopOrder; + } + + public String getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + + public String getItem() { + return item; + } + + public void setItem(String item) { + this.item = item; + } + + public String getInventory() { + return inventory; + } + + public void setInventory(String inventory) { + this.inventory = inventory; + } + + public Double getQty() { + return qty; + } + + public void setQty(Double 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 CALL_ITEM_NO = "CALL_ITEM_NO"; + +public static final String SHOP_ORDER = "SHOP_ORDER"; + +public static final String SFC = "SFC"; + +public static final String ITEM = "ITEM"; + +public static final String INVENTORY = "INVENTORY"; + +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 "IssueItem{" + + "handle = " + handle + + ", site = " + site + + ", callItemNo = " + callItemNo + + ", shopOrder = " + shopOrder + + ", sfc = " + sfc + + ", item = " + item + + ", inventory = " + inventory + + ", 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/SurplusItemReturn.java new file mode 100644 index 00000000..e1205e64 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SurplusItemReturn.java @@ -0,0 +1,233 @@ +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.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.IdType; + +/** + *

+ * 余料退回 + *

+ * + * @author Leon.L + * @since 2021-07-10 + */ + +@TableName("Z_SURPLUS_ITEM_RETURN") + +public class SurplusItemReturn extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + /** + * 站点 + */ + @TableField("SITE") + private String site; + /** + * 库存批次 + */ + @TableField("INVENTORY") + private String inventory; + /** + * 父库存批次 + */ + @TableField("PARENT_INVENTORY") + private String parentInventory; + /** + * 物料编号 + */ + @TableField("ITEM_BO") + private String itemBo; + /** + * 余料长度 + */ + @TableField("LENGHT") + private Double lenght; + /** + * 余料宽度 + */ + @TableField("WIDTH") + private Double width; + /** + * 余料数量 + */ + @TableField("QTY") + private Double qty; + /** + * 创建用户 + */ + @TableField("CREATE_USER_BO") + private String createUserBo; + /** + * 创建时间 + */ + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; + /** + * 更新用户 + */ + @TableField("UPDATE_USER_BO") + private String updateUserBo; + /** + * 更新时间 + */ + @TableField("UPDATED_DATE_TIME") + private LocalDateTime updatedDateTime; + + + 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 getInventory() { + return inventory; + } + + public void setInventory(String inventory) { + this.inventory = inventory; + } + + public String getParentInventory() { + return parentInventory; + } + + public void setParentInventory(String parentInventory) { + this.parentInventory = parentInventory; + } + + public String getItemBo() { + return itemBo; + } + + public void setItemBo(String itemBo) { + this.itemBo = itemBo; + } + + public Double getLenght() { + return lenght; + } + + public void setLenght(Double lenght) { + this.lenght = lenght; + } + + public Double getWidth() { + return width; + } + + public void setWidth(Double width) { + this.width = width; + } + + public Double getQty() { + return qty; + } + + public void setQty(Double qty) { + this.qty = qty; + } + + public String getCreateUserBo() { + return createUserBo; + } + + public void setCreateUserBo(String createUserBo) { + this.createUserBo = createUserBo; + } + + public LocalDateTime getCreatedDateTime() { + return createdDateTime; + } + + public void setCreatedDateTime(LocalDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + public String getUpdateUserBo() { + return updateUserBo; + } + + public void setUpdateUserBo(String updateUserBo) { + this.updateUserBo = updateUserBo; + } + + public LocalDateTime getUpdatedDateTime() { + return updatedDateTime; + } + + public void setUpdatedDateTime(LocalDateTime updatedDateTime) { + this.updatedDateTime = updatedDateTime; + } + +public static final String HANDLE = "HANDLE"; + +public static final String SITE = "SITE"; + +public static final String INVENTORY = "INVENTORY"; + +public static final String PARENT_INVENTORY = "PARENT_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_BO = "CREATE_USER_BO"; + +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; + +public static final String UPDATE_USER_BO = "UPDATE_USER_BO"; + +public static final String UPDATED_DATE_TIME = "UPDATED_DATE_TIME"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "SurplusItemReturn{" + + "handle = " + handle + + ", site = " + site + + ", inventory = " + inventory + + ", parentInventory = " + parentInventory + + ", itemBo = " + itemBo + + ", lenght = " + lenght + + ", width = " + width + + ", qty = " + qty + + ", createUserBo = " + createUserBo + + ", createdDateTime = " + createdDateTime + + ", updateUserBo = " + updateUserBo + + ", updatedDateTime = " + updatedDateTime + + "}"; + } +} \ No newline at end of file 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 new file mode 100644 index 00000000..2821e334 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/IssueItemService.java @@ -0,0 +1,20 @@ +package com.foreverwin.mesnac.dispatch.service; +; +import com.foreverwin.mesnac.dispatch.model.IssueItem; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + + +/** + *

+ * 车间发料 服务类 + *

+ * + * @author Leon.L + * @since 2021-07-09 + */ +public interface IssueItemService extends IService { + + Map scanIssueInventory(String site, String item, String inventory); +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ItemBatchService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ItemBatchService.java index cfc4c793..a923f461 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ItemBatchService.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ItemBatchService.java @@ -1,9 +1,8 @@ package com.foreverwin.mesnac.dispatch.service; -import com.baomidou.mybatisplus.core.metadata.IPage; + import com.foreverwin.mesnac.dispatch.model.ItemBatch; import com.baomidou.mybatisplus.extension.service.IService; -import com.foreverwin.modular.core.util.FrontPage; import java.util.List; @@ -18,11 +17,12 @@ import java.util.List; public interface ItemBatchService extends IService { /** - * 分页查询 - * @param frontPage + * 查询原材料的收获批次 + * + * @param site + * @param item + * @param batch * @return */ - IPage selectPage(FrontPage frontPage, ItemBatch itemBatch); - - List selectList(ItemBatch itemBatch); + List findItemBatch(String site, String item, String batch); } \ 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/SurplusItemReturnService.java new file mode 100644 index 00000000..808ff269 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SurplusItemReturnService.java @@ -0,0 +1,29 @@ +package com.foreverwin.mesnac.dispatch.service; + +import com.foreverwin.mesnac.dispatch.model.SurplusItemReturn; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + *

+ * 余料退回 服务类 + *

+ * + * @author Leon.L + * @since 2021-07-10 + */ +public interface SurplusItemReturnService extends IService { + + /** + * 查询库存信息 + * --物料编号&描述 + * --物料自定义字段 + * --库存数量 + * + * @param site + * @param inventory + * @return + */ + Map getInventoryData(String site, String inventory); +} \ 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 new file mode 100644 index 00000000..bff7c72e --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java @@ -0,0 +1,81 @@ +package com.foreverwin.mesnac.dispatch.service.impl; + +import com.foreverwin.mesnac.common.enums.HandleEnum; +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.service.IssueItemService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.foreverwin.mesnac.dispatch.service.ItemBatchService; +import com.foreverwin.mesnac.meapi.model.Inventory; +import com.foreverwin.mesnac.meapi.model.Item; +import com.foreverwin.mesnac.meapi.service.InventoryService; +import com.foreverwin.mesnac.meapi.service.ItemService; +import com.foreverwin.modular.core.exception.BusinessException; +import com.sap.me.common.MaterialType; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + *

+ * 车间发料 服务实现类 + *

+ * + * @author Leon.L + * @since 2021-07-09 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class IssueItemServiceImpl extends ServiceImpl implements IssueItemService { + + @Autowired + private ItemService itemService; + @Autowired + private IssueItemMapper issueItemMapper; + @Autowired + private ItemBatchService itemBatchService; + @Autowired + private InventoryService inventoryService; + + + @Override + public Map scanIssueInventory(String site, String item, String inventory) { + Item itemModel = itemService.selectCurrent(site, item); + if (itemModel == null) { + throw BusinessException.build("物料【" +item+"】当前版本不存在!"); + } + String itemBo = itemModel.getHandle(); + String materialType = itemModel.getMaterialType(); + + Map map = new HashMap<>(); + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if (MaterialType.RAW.value().equals(materialType)){ + //原材料 + List itemBatchList = itemBatchService.findItemBatch(site, item, inventory); + if (itemBatchList == null || itemBatchList.size() <= 0) { + throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!"); + } + } else { + //半成品 + String inventoryBo = HandleEnum.INVENTORY.getHandle(site, inventory); + Inventory inventoryModel = inventoryService.getById(inventoryBo); + if (inventoryModel == null) { + throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!"); + } + String invItemBo = inventoryModel.getItemBo(); + if (invItemBo.equals(itemBo)) { + throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不是物料【"+ item +"】的库存!"); + } + map.put("qty", inventoryModel.getQtyOnHand()); + } + + + return map; + } +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ItemBatchServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ItemBatchServiceImpl.java index aa3f3fec..c11e616b 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ItemBatchServiceImpl.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ItemBatchServiceImpl.java @@ -1,8 +1,7 @@ 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.common.util.StringUtil; import com.foreverwin.mesnac.dispatch.model.ItemBatch; import com.foreverwin.mesnac.dispatch.mapper.ItemBatchMapper; import com.foreverwin.mesnac.dispatch.service.ItemBatchService; @@ -11,7 +10,11 @@ import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; +import java.util.Map; + + /** *

* 物料批次表 服务实现类 @@ -28,19 +31,16 @@ public class ItemBatchServiceImpl extends ServiceImpl selectPage(FrontPage frontPage, ItemBatch itemBatch) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.setEntity(itemBatch); - return super.page(frontPage.getPagePlus(), queryWrapper); - } @Override - public List selectList(ItemBatch itemBatch) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.setEntity(itemBatch); - return super.list(queryWrapper); + public List findItemBatch(String site, String item, String batch) { + Map queryMap = new HashMap<>(); + queryMap.put(ItemBatch.SITE, site); + queryMap.put(ItemBatch.ITEM, item); + if (StringUtil.notBlank(batch)) { + queryMap.put(ItemBatch.BATCH, batch); + } + + return itemBatchMapper.selectByMap(queryMap); } - - } \ 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/SurplusItemReturnServiceImpl.java new file mode 100644 index 00000000..c4052a6f --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SurplusItemReturnServiceImpl.java @@ -0,0 +1,73 @@ +package com.foreverwin.mesnac.dispatch.service.impl; + +import com.foreverwin.mesnac.common.enums.HandleEnum; +import com.foreverwin.mesnac.common.util.NumberUtil; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.model.Inventory; +import com.foreverwin.mesnac.meapi.service.InventoryService; +import com.foreverwin.modular.core.exception.BusinessException; +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.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; +import java.util.Map; + +/** + *

+ * 余料退回 服务实现类 + *

+ * + * @author Leon.L + * @since 2021-07-10 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class SurplusItemReturnServiceImpl extends ServiceImpl implements SurplusItemReturnService { + + + @Autowired + private InventoryService inventoryService; + @Autowired + private SurplusItemReturnMapper surplusItemReturnMapper; + + + @Override + public Map getInventoryData(String site, String inventory) { + String inventoryBo = HandleEnum.INVENTORY.getHandle(site, inventory); + Inventory inventoryModel = inventoryService.getById(inventoryBo); + if (inventoryModel == null) { + throw BusinessException.build("物料条码【" + inventory +"】不存在!"); + } + if (inventoryModel.getQtyOnHand() <= 0) { + throw BusinessException.build("物料条码【" + inventory +"】没有可用数量!"); + } + + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Map map = surplusItemReturnMapper.selectInventoryData(inventoryBo); + if (map == null || map.size() <= 0) { + throw BusinessException.build("物料条码【" + inventory +"】不存在!"); + } + String item = (String) map.get("ITEM"); + String perMater = (String) map.get("PER_METER"); + String perSquareMeter = (String) map.get("PER_SQUARE_METER"); + if (StringUtil.isBlank(perMater) && StringUtil.isBlank(perSquareMeter)) { + throw BusinessException.build("物料【" +item+ "】的自定义字段【每米重量】和【每平米重量】都没维护!"); + } + if (StringUtil.notBlank(perMater) && !NumberUtil.isNumber(perMater)) { + throw BusinessException.build("物料【" +item+ "】的自定义字段【每米重量】只能维护数值!"); + } + if (StringUtil.notBlank(perSquareMeter) && !NumberUtil.isNumber(perSquareMeter)) { + throw BusinessException.build("物料【" +item+ "】的自定义字段【每平米重量】只能维护数值!"); + } + + return map; + } +} \ No newline at end of file diff --git a/dispatch/src/main/resources/mapper/IssueItemMapper.xml b/dispatch/src/main/resources/mapper/IssueItemMapper.xml new file mode 100644 index 00000000..05f91258 --- /dev/null +++ b/dispatch/src/main/resources/mapper/IssueItemMapper.xml @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, CALL_ITEM_NO, SHOP_ORDER, SFC, ITEM, INVENTORY, QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_ISSUE_ITEM + + HANDLE, + SITE, + CALL_ITEM_NO, + SHOP_ORDER, + SFC, + ITEM, + INVENTORY, + QTY, + CREATE_USER, + CREATED_DATE_TIME, + MODIFY_USER, + MODIFIED_DATE_TIME, + VALUES + + #{handle}, + #{site}, + #{callItemNo}, + #{shopOrder}, + #{sfc}, + #{item}, + #{inventory}, + #{qty}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + + + + + INSERT INTO Z_ISSUE_ITEM + + + VALUES + + #{handle}, + #{site}, + #{callItemNo}, + #{shopOrder}, + #{sfc}, + #{item}, + #{inventory}, + #{qty}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + + + + + + + + + + UPDATE Z_ISSUE_ITEM + HANDLE=#{et.handle}, + SITE=#{et.site}, + CALL_ITEM_NO=#{et.callItemNo}, + SHOP_ORDER=#{et.shopOrder}, + SFC=#{et.sfc}, + ITEM=#{et.item}, + INVENTORY=#{et.inventory}, + 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 CALL_ITEM_NO=#{ew.entity.callItemNo} + AND SHOP_ORDER=#{ew.entity.shopOrder} + AND SFC=#{ew.entity.sfc} + AND ITEM=#{ew.entity.item} + AND INVENTORY=#{ew.entity.inventory} + 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_ISSUE_ITEM + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_ISSUE_ITEM + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND CALL_ITEM_NO=#{ew.entity.callItemNo} + AND SHOP_ORDER=#{ew.entity.shopOrder} + AND SFC=#{ew.entity.sfc} + AND ITEM=#{ew.entity.item} + AND INVENTORY=#{ew.entity.inventory} + 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} + + + + + + diff --git a/dispatch/src/main/resources/mapper/SurplusItemReturnMapper.xml b/dispatch/src/main/resources/mapper/SurplusItemReturnMapper.xml new file mode 100644 index 00000000..026340b8 --- /dev/null +++ b/dispatch/src/main/resources/mapper/SurplusItemReturnMapper.xml @@ -0,0 +1,444 @@ + + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, INVENTORY, PARENT_INVENTORY, ITEM_BO, LENGHT, WIDTH, QTY, CREATE_USER_BO, CREATED_DATE_TIME, UPDATE_USER_BO, UPDATED_DATE_TIME + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_SURPLUS_ITEM_RETURN + + HANDLE, + SITE, + INVENTORY, + PARENT_INVENTORY, + ITEM_BO, + LENGHT, + WIDTH, + QTY, + CREATE_USER_BO, + CREATED_DATE_TIME, + UPDATE_USER_BO, + UPDATED_DATE_TIME, + VALUES + + #{handle}, + #{site}, + #{inventory}, + #{parentInventory}, + #{itemBo}, + #{lenght}, + #{width}, + #{qty}, + #{createUserBo}, + #{createdDateTime}, + #{updateUserBo}, + #{updatedDateTime}, + + + + + INSERT INTO Z_SURPLUS_ITEM_RETURN + + + VALUES + + #{handle}, + #{site}, + #{inventory}, + #{parentInventory}, + #{itemBo}, + #{lenght}, + #{width}, + #{qty}, + #{createUserBo}, + #{createdDateTime}, + #{updateUserBo}, + #{updatedDateTime}, + + + + + + UPDATE Z_SURPLUS_ITEM_RETURN + SITE=#{et.site}, + INVENTORY=#{et.inventory}, + PARENT_INVENTORY=#{et.parentInventory}, + ITEM_BO=#{et.itemBo}, + LENGHT=#{et.lenght}, + WIDTH=#{et.width}, + QTY=#{et.qty}, + CREATE_USER_BO=#{et.createUserBo}, + CREATED_DATE_TIME=#{et.createdDateTime}, + UPDATE_USER_BO=#{et.updateUserBo}, + UPDATED_DATE_TIME=#{et.updatedDateTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_SURPLUS_ITEM_RETURN + SITE=#{et.site}, + INVENTORY=#{et.inventory}, + PARENT_INVENTORY=#{et.parentInventory}, + ITEM_BO=#{et.itemBo}, + LENGHT=#{et.lenght}, + WIDTH=#{et.width}, + QTY=#{et.qty}, + CREATE_USER_BO=#{et.createUserBo}, + CREATED_DATE_TIME=#{et.createdDateTime}, + UPDATE_USER_BO=#{et.updateUserBo}, + UPDATED_DATE_TIME=#{et.updatedDateTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_SURPLUS_ITEM_RETURN + SITE=#{et.site}, + INVENTORY=#{et.inventory}, + PARENT_INVENTORY=#{et.parentInventory}, + ITEM_BO=#{et.itemBo}, + LENGHT=#{et.lenght}, + WIDTH=#{et.width}, + QTY=#{et.qty}, + CREATE_USER_BO=#{et.createUserBo}, + CREATED_DATE_TIME=#{et.createdDateTime}, + UPDATE_USER_BO=#{et.updateUserBo}, + UPDATED_DATE_TIME=#{et.updatedDateTime}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND INVENTORY=#{ew.entity.inventory} + AND PARENT_INVENTORY=#{ew.entity.parentInventory} + AND ITEM_BO=#{ew.entity.itemBo} + AND LENGHT=#{ew.entity.lenght} + AND WIDTH=#{ew.entity.width} + AND QTY=#{ew.entity.qty} + AND CREATE_USER_BO=#{ew.entity.createUserBo} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND UPDATE_USER_BO=#{ew.entity.updateUserBo} + AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_SURPLUS_ITEM_RETURN WHERE HANDLE=#{handle} + + + + DELETE FROM Z_SURPLUS_ITEM_RETURN + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_SURPLUS_ITEM_RETURN + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND INVENTORY=#{ew.entity.inventory} + AND PARENT_INVENTORY=#{ew.entity.parentInventory} + AND ITEM_BO=#{ew.entity.itemBo} + AND LENGHT=#{ew.entity.lenght} + AND WIDTH=#{ew.entity.width} + AND QTY=#{ew.entity.qty} + AND CREATE_USER_BO=#{ew.entity.createUserBo} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND UPDATE_USER_BO=#{ew.entity.updateUserBo} + AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_SURPLUS_ITEM_RETURN WHERE HANDLE IN ( + #{item} + ) + + + + + + diff --git a/generator/src/main/java/com/foreverwin/minth/generator/GeneratorApplication.java b/generator/src/main/java/com/foreverwin/minth/generator/GeneratorApplication.java index f359b7bf..7a8bf00d 100644 --- a/generator/src/main/java/com/foreverwin/minth/generator/GeneratorApplication.java +++ b/generator/src/main/java/com/foreverwin/minth/generator/GeneratorApplication.java @@ -33,9 +33,9 @@ public class GeneratorApplication { dataSourceConfig.setTypeConvert( new OracleTypeConvert() ); MpGenerator mpGenerator = mpGeneratorBuilder.dataSourceConfig(dataSourceConfig) .tablePrefix( "APS_", "DS_", "Z_" ) - .packageName( "com.foreverwin.mesnac.equip" ) - .tables("Z_RESOURCE_INSPECT_TASK_SPARE") - .author("pavel.Liu") + .packageName( "com.foreverwin.mesnac.dispatch" ) + .tables("Z_SURPLUS_ITEM_RETURN") + .author("Leon.L") .uiAppId("com.foreverwin.me") .uiPackage("com.foreverwin.me.migration") .build(); diff --git a/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java b/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java index cdd98084..af09dc6a 100644 --- a/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java +++ b/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java @@ -576,11 +576,7 @@ public class InterfaceServiceImpl implements InterfaceService { String factory = itemBatchDto.getFACTORY(); //查询物料和批次是否已经存在记录 - ItemBatch queryBatch = new ItemBatch(); - queryBatch.setBatch(site); - queryBatch.setItem(item); - queryBatch.setBatch(batch); - List itemBatchList = itemBatchService.selectList(queryBatch); + List itemBatchList = itemBatchService.findItemBatch(site, item, batch); if (itemBatchList != null && itemBatchList.size() > 0) { //更新时间 ItemBatch itemBatch = itemBatchList.get(0); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/InventoryMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/InventoryMapper.java new file mode 100644 index 00000000..1f19e8bf --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/InventoryMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.meapi.mapper; + +import com.foreverwin.mesnac.meapi.model.Inventory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * Mapper 接口 + *

+ * + * @author Leon.L + * @since 2021-07-09 + */ +@Repository +public interface InventoryMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ItemMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ItemMapper.java index 4fb7b06d..450c1d44 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ItemMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ItemMapper.java @@ -29,27 +29,4 @@ public interface ItemMapper extends BaseMapper { Item selectById(@Param("locale") String locale, @Param("handle") String handle); List selectListByCriteria(@Param("locale") String locale, @Param("ew") Wrapper wrapper); - - Item getItemDescription(@Param("item") String item,@Param("locale")String locale, @Param("site") String site); - List getItemDetailList(@Param("site") String site,@Param("local")String local); - - List selectItemControlList(@Param("locale") String locale, @Param("ew") Wrapper wrapper); - - IPagegetItemPageByProdVer(IPage page,@Param("site") String site,@Param("local")String local,@Param("query") String query); - - IPage getBklasItem(IPage page,@Param("site")String site,@Param("local")String local,@Param("itemOrDesc")String itemOrDesc); - - IPagegetRawMaterial(IPage page,@Param("site")String site,@Param("local")String local,@Param("itemOrDesc")String itemOrDesc); - - int checkItemUnit(@Param("unit")String unit,@Param("site")String site,@Param("item")String item); - - Item selectItemBo(@Param("site") String site,@Param("item") String item); - - Integer findItemNum(@Param("site") String site,@Param("item") String item); - - List selectInnerOrder(@Param("site") String site, @Param("itemBo") String handle); - - List selectItemSnp(@Param("site") String site,@Param("item") String item); - - Item selectBatchReview(@Param("site") String site,@Param("item") String item); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Inventory.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Inventory.java new file mode 100644 index 00000000..20173f52 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Inventory.java @@ -0,0 +1,443 @@ +package com.foreverwin.mesnac.meapi.model; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +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-09 + */ + +@TableName("INVENTORY") +public class Inventory extends Model { + + private static final long serialVersionUID = 1L; + + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + @TableField("CHANGE_STAMP") + private Long changeStamp; + @TableField("SITE") + private String site; + @TableField("INVENTORY_ID") + private String inventoryId; + @TableField("ITEM_BO") + private String itemBo; + @TableField("INVENTORY_CONTEXT_GBO") + private String inventoryContextGbo; + @TableField("DESCRIPTION") + private String description; + @TableField("QTY_ON_HAND") + private Double qtyOnHand; + @TableField("ASSY_DATA_TYPE_BO") + private String assyDataTypeBo; + @TableField("USAGE_COUNT") + private Long usageCount; + @TableField("MAXIMUM_USAGE") + private Long maximumUsage; + @TableField("STATUS_BO") + private String statusBo; + @TableField("ORIGINAL_QTY") + private Double originalQty; + @TableField("WORK_CENTER_LOC_BO") + private String workCenterLocBo; + @TableField("WORK_CENTER_LOC_RES") + private String workCenterLocRes; + @TableField("OPERATION_LOC_BO") + private String operationLocBo; + @TableField("OPERATION_LOC_RES") + private String operationLocRes; + @TableField("RESOURCE_LOC_BO") + private String resourceLocBo; + @TableField("RESOURCE_LOC_RES") + private String resourceLocRes; + @TableField("SHOP_ORDER_LOC_BO") + private String shopOrderLocBo; + @TableField("SHOP_ORDER_LOC_RES") + private String shopOrderLocRes; + @TableField("SHOP_ORDER_SET_BY_ERP") + private String shopOrderSetByErp; + @TableField("ORIGINAL_USER_BO") + private String originalUserBo; + @TableField("STORAGE_LOCATION_BO") + private String storageLocationBo; + @TableField("HAS_BEEN_USED") + private String hasBeenUsed; + @TableField("RECEIVE_DATE_TIME") + private LocalDateTime receiveDateTime; + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; + @TableField("MODIFIED_DATE_TIME") + private LocalDateTime modifiedDateTime; + @TableField("PARTITION_DATE") + private LocalDateTime partitionDate; + @TableField("PARENT_INVENTORY_BO") + private String parentInventoryBo; + @TableField("ERP_INVENTORY") + private String erpInventory; + + + public String getHandle() { + return handle; + } + + public void setHandle(String handle) { + this.handle = handle; + } + + public Long getChangeStamp() { + return changeStamp; + } + + public void setChangeStamp(Long changeStamp) { + this.changeStamp = changeStamp; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getInventoryId() { + return inventoryId; + } + + public void setInventoryId(String inventoryId) { + this.inventoryId = inventoryId; + } + + public String getItemBo() { + return itemBo; + } + + public void setItemBo(String itemBo) { + this.itemBo = itemBo; + } + + public String getInventoryContextGbo() { + return inventoryContextGbo; + } + + public void setInventoryContextGbo(String inventoryContextGbo) { + this.inventoryContextGbo = inventoryContextGbo; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Double getQtyOnHand() { + return qtyOnHand; + } + + public void setQtyOnHand(Double qtyOnHand) { + this.qtyOnHand = qtyOnHand; + } + + public String getAssyDataTypeBo() { + return assyDataTypeBo; + } + + public void setAssyDataTypeBo(String assyDataTypeBo) { + this.assyDataTypeBo = assyDataTypeBo; + } + + public Long getUsageCount() { + return usageCount; + } + + public void setUsageCount(Long usageCount) { + this.usageCount = usageCount; + } + + public Long getMaximumUsage() { + return maximumUsage; + } + + public void setMaximumUsage(Long maximumUsage) { + this.maximumUsage = maximumUsage; + } + + public String getStatusBo() { + return statusBo; + } + + public void setStatusBo(String statusBo) { + this.statusBo = statusBo; + } + + public Double getOriginalQty() { + return originalQty; + } + + public void setOriginalQty(Double originalQty) { + this.originalQty = originalQty; + } + + public String getWorkCenterLocBo() { + return workCenterLocBo; + } + + public void setWorkCenterLocBo(String workCenterLocBo) { + this.workCenterLocBo = workCenterLocBo; + } + + public String getWorkCenterLocRes() { + return workCenterLocRes; + } + + public void setWorkCenterLocRes(String workCenterLocRes) { + this.workCenterLocRes = workCenterLocRes; + } + + public String getOperationLocBo() { + return operationLocBo; + } + + public void setOperationLocBo(String operationLocBo) { + this.operationLocBo = operationLocBo; + } + + public String getOperationLocRes() { + return operationLocRes; + } + + public void setOperationLocRes(String operationLocRes) { + this.operationLocRes = operationLocRes; + } + + public String getResourceLocBo() { + return resourceLocBo; + } + + public void setResourceLocBo(String resourceLocBo) { + this.resourceLocBo = resourceLocBo; + } + + public String getResourceLocRes() { + return resourceLocRes; + } + + public void setResourceLocRes(String resourceLocRes) { + this.resourceLocRes = resourceLocRes; + } + + public String getShopOrderLocBo() { + return shopOrderLocBo; + } + + public void setShopOrderLocBo(String shopOrderLocBo) { + this.shopOrderLocBo = shopOrderLocBo; + } + + public String getShopOrderLocRes() { + return shopOrderLocRes; + } + + public void setShopOrderLocRes(String shopOrderLocRes) { + this.shopOrderLocRes = shopOrderLocRes; + } + + public String getShopOrderSetByErp() { + return shopOrderSetByErp; + } + + public void setShopOrderSetByErp(String shopOrderSetByErp) { + this.shopOrderSetByErp = shopOrderSetByErp; + } + + public String getOriginalUserBo() { + return originalUserBo; + } + + public void setOriginalUserBo(String originalUserBo) { + this.originalUserBo = originalUserBo; + } + + public String getStorageLocationBo() { + return storageLocationBo; + } + + public void setStorageLocationBo(String storageLocationBo) { + this.storageLocationBo = storageLocationBo; + } + + public String getHasBeenUsed() { + return hasBeenUsed; + } + + public void setHasBeenUsed(String hasBeenUsed) { + this.hasBeenUsed = hasBeenUsed; + } + + public LocalDateTime getReceiveDateTime() { + return receiveDateTime; + } + + public void setReceiveDateTime(LocalDateTime receiveDateTime) { + this.receiveDateTime = receiveDateTime; + } + + public LocalDateTime getCreatedDateTime() { + return createdDateTime; + } + + public void setCreatedDateTime(LocalDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } + + public LocalDateTime getModifiedDateTime() { + return modifiedDateTime; + } + + public void setModifiedDateTime(LocalDateTime modifiedDateTime) { + this.modifiedDateTime = modifiedDateTime; + } + + public LocalDateTime getPartitionDate() { + return partitionDate; + } + + public void setPartitionDate(LocalDateTime partitionDate) { + this.partitionDate = partitionDate; + } + + public String getParentInventoryBo() { + return parentInventoryBo; + } + + public void setParentInventoryBo(String parentInventoryBo) { + this.parentInventoryBo = parentInventoryBo; + } + + public String getErpInventory() { + return erpInventory; + } + + public void setErpInventory(String erpInventory) { + this.erpInventory = erpInventory; + } + +public static final String HANDLE = "HANDLE"; + +public static final String CHANGE_STAMP = "CHANGE_STAMP"; + +public static final String SITE = "SITE"; + +public static final String INVENTORY_ID = "INVENTORY_ID"; + +public static final String ITEM_BO = "ITEM_BO"; + +public static final String INVENTORY_CONTEXT_GBO = "INVENTORY_CONTEXT_GBO"; + +public static final String DESCRIPTION = "DESCRIPTION"; + +public static final String QTY_ON_HAND = "QTY_ON_HAND"; + +public static final String ASSY_DATA_TYPE_BO = "ASSY_DATA_TYPE_BO"; + +public static final String USAGE_COUNT = "USAGE_COUNT"; + +public static final String MAXIMUM_USAGE = "MAXIMUM_USAGE"; + +public static final String STATUS_BO = "STATUS_BO"; + +public static final String ORIGINAL_QTY = "ORIGINAL_QTY"; + +public static final String WORK_CENTER_LOC_BO = "WORK_CENTER_LOC_BO"; + +public static final String WORK_CENTER_LOC_RES = "WORK_CENTER_LOC_RES"; + +public static final String OPERATION_LOC_BO = "OPERATION_LOC_BO"; + +public static final String OPERATION_LOC_RES = "OPERATION_LOC_RES"; + +public static final String RESOURCE_LOC_BO = "RESOURCE_LOC_BO"; + +public static final String RESOURCE_LOC_RES = "RESOURCE_LOC_RES"; + +public static final String SHOP_ORDER_LOC_BO = "SHOP_ORDER_LOC_BO"; + +public static final String SHOP_ORDER_LOC_RES = "SHOP_ORDER_LOC_RES"; + +public static final String SHOP_ORDER_SET_BY_ERP = "SHOP_ORDER_SET_BY_ERP"; + +public static final String ORIGINAL_USER_BO = "ORIGINAL_USER_BO"; + +public static final String STORAGE_LOCATION_BO = "STORAGE_LOCATION_BO"; + +public static final String HAS_BEEN_USED = "HAS_BEEN_USED"; + +public static final String RECEIVE_DATE_TIME = "RECEIVE_DATE_TIME"; + +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; + +public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; + +public static final String PARTITION_DATE = "PARTITION_DATE"; + +public static final String PARENT_INVENTORY_BO = "PARENT_INVENTORY_BO"; + +public static final String ERP_INVENTORY = "ERP_INVENTORY"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "Inventory{" + + "handle = " + handle + + ", changeStamp = " + changeStamp + + ", site = " + site + + ", inventoryId = " + inventoryId + + ", itemBo = " + itemBo + + ", inventoryContextGbo = " + inventoryContextGbo + + ", description = " + description + + ", qtyOnHand = " + qtyOnHand + + ", assyDataTypeBo = " + assyDataTypeBo + + ", usageCount = " + usageCount + + ", maximumUsage = " + maximumUsage + + ", statusBo = " + statusBo + + ", originalQty = " + originalQty + + ", workCenterLocBo = " + workCenterLocBo + + ", workCenterLocRes = " + workCenterLocRes + + ", operationLocBo = " + operationLocBo + + ", operationLocRes = " + operationLocRes + + ", resourceLocBo = " + resourceLocBo + + ", resourceLocRes = " + resourceLocRes + + ", shopOrderLocBo = " + shopOrderLocBo + + ", shopOrderLocRes = " + shopOrderLocRes + + ", shopOrderSetByErp = " + shopOrderSetByErp + + ", originalUserBo = " + originalUserBo + + ", storageLocationBo = " + storageLocationBo + + ", hasBeenUsed = " + hasBeenUsed + + ", receiveDateTime = " + receiveDateTime + + ", createdDateTime = " + createdDateTime + + ", modifiedDateTime = " + modifiedDateTime + + ", partitionDate = " + partitionDate + + ", parentInventoryBo = " + parentInventoryBo + + ", erpInventory = " + erpInventory + + "}"; + } +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/InventoryService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/InventoryService.java new file mode 100644 index 00000000..d4c1615d --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/InventoryService.java @@ -0,0 +1,28 @@ +package com.foreverwin.mesnac.meapi.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.meapi.model.Inventory; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author Leon.L + * @since 2021-07-09 + */ +public interface InventoryService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, Inventory inventory); + + List selectList(Inventory inventory); +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ItemService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ItemService.java index 01384ad9..d05e2415 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ItemService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ItemService.java @@ -31,41 +31,11 @@ public interface ItemService extends IService { List selectList(Item item); - List selectItemWithDesc(Item item); - - List selectItemWithDesc(QueryWrapper queryWrapper); - List selectList(Wrapper queryWrapper); - List getItemDetailList(); - - Item getItemDescription(String item); - String selectCurrent(String handle); Item selectCurrent(String site, String item); - List selectItemLabelControl(QueryWrapper queryWrapper); - - IPagegetItemPageByProdVer(IPage page, String query); - - IPage getBklasItem(IPage page,String itemOrDesc); - - IPagegetRawMaterial(IPage page,String item); - - Integer checkItemUnit(String unit,String site,String item); - - /** - * 查询物料的描述 - * @param item - * @param local - * @return - */ - Item getItemDescription(String item, String local); - - List selectInnerOrder(String site, String handle); - - List selectItemSnp(String site, String item); - Item selectBatchReview(String site, String item); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/InventoryServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/InventoryServiceImpl.java new file mode 100644 index 00000000..3ef7a7d1 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/InventoryServiceImpl.java @@ -0,0 +1,46 @@ +package com.foreverwin.mesnac.meapi.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.meapi.model.Inventory; +import com.foreverwin.mesnac.meapi.mapper.InventoryMapper; +import com.foreverwin.mesnac.meapi.service.InventoryService; +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; +import java.util.logging.Handler; + +/** + *

+ * 服务实现类 + *

+ * + * @author Leon.L + * @since 2021-07-09 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class InventoryServiceImpl extends ServiceImpl implements InventoryService { + + + @Autowired + private InventoryMapper inventoryMapper; + + @Override + public IPage selectPage(FrontPage frontPage, Inventory inventory) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inventory); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(Inventory inventory) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inventory); + return super.list(queryWrapper); + } +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ItemServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ItemServiceImpl.java index fb267283..f3a4605e 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ItemServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ItemServiceImpl.java @@ -72,40 +72,6 @@ public class ItemServiceImpl extends ServiceImpl implements It } - @Override - public List getItemDetailList() { - String site= CommonMethods.getSite(); - String local=LocaleContextHolder.getLocale().getLanguage(); - return itemMapper.getItemDetailList(site,local); - } - - @Override - public Item getItemDescription(String item) { - String site= CommonMethods.getSite(); - String local=LocaleContextHolder.getLocale().getLanguage(); - return itemMapper.getItemDescription(item,local,site); - } - - - @Override - public List selectItemWithDesc(Item item) { - Locale locale = LocaleContextHolder.getLocale(); - String site = CommonMethods.getSite(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(Item.SITE, site); - if( item.getItem() != null){ - queryWrapper.like(Item.ITEM, item.getItem()); - } - if(item.getDescription()!= null){ - queryWrapper.like(Item.DESCRIPTION, item.getDescription()); - } - return itemMapper.selectListByCriteria(locale.getLanguage(), queryWrapper); - } - - @Override - public List selectItemWithDesc(QueryWrapper queryWrapper) { - return itemMapper.selectListByCriteria(LocaleContextHolder.getLocale().getLanguage(), queryWrapper); - } @Override public String selectCurrent(String handle){ if(handle.endsWith("#")) { @@ -129,61 +95,4 @@ public class ItemServiceImpl extends ServiceImpl implements It //---------------------------------------------------------------------------------- return resultLit != null && resultLit.size() > 0 ? resultLit.get(0) : null; } - - @Override - public List selectItemLabelControl(QueryWrapper queryWrapper) { - return itemMapper.selectItemControlList(LocaleContextHolder.getLocale().getLanguage(), queryWrapper); - } - - - - @Override - public IPage getItemPageByProdVer(IPage page, String query) { - String site=CommonMethods.getSite(); - String local=LocaleContextHolder.getLocale().getLanguage(); - - return itemMapper.getItemPageByProdVer(page,site,local,query); - } - - @Override - public IPage getBklasItem(IPage page, String itemOrDesc) { - String site=CommonMethods.getSite(); - String local=LocaleContextHolder.getLocale().getLanguage(); - return itemMapper.getBklasItem(page,site,local,itemOrDesc); - } - - - @Override - public IPage getRawMaterial(IPage page, String item) { - String local=LocaleContextHolder.getLocale().getLanguage(); - String site=CommonMethods.getSite(); - return itemMapper.getRawMaterial(page,site,local,item); - } - - @Override - public Integer checkItemUnit(String unit, String site, String item) { - return itemMapper.checkItemUnit(unit,site,item); - } - - @Override - public Item getItemDescription(String item, String local) { - String site = CommonMethods.getSite(); - return itemMapper.getItemDescription(item, local, site); - } - - @Override - public List selectInnerOrder(String site, String handle) { - return itemMapper.selectInnerOrder(site, handle); - } - - - @Override - public List selectItemSnp(String site, String item) { - return itemMapper.selectItemSnp(site, item); - } - - @Override - public Item selectBatchReview(String site, String item) { - return itemMapper.selectBatchReview(site,item); - } } \ No newline at end of file diff --git a/meapi/src/main/resources/mapper/InventoryMapper.xml b/meapi/src/main/resources/mapper/InventoryMapper.xml new file mode 100644 index 00000000..9b543b8e --- /dev/null +++ b/meapi/src/main/resources/mapper/InventoryMapper.xml @@ -0,0 +1,654 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLE, CHANGE_STAMP, SITE, INVENTORY_ID, ITEM_BO, INVENTORY_CONTEXT_GBO, DESCRIPTION, QTY_ON_HAND, ASSY_DATA_TYPE_BO, USAGE_COUNT, MAXIMUM_USAGE, STATUS_BO, ORIGINAL_QTY, WORK_CENTER_LOC_BO, WORK_CENTER_LOC_RES, OPERATION_LOC_BO, OPERATION_LOC_RES, RESOURCE_LOC_BO, RESOURCE_LOC_RES, SHOP_ORDER_LOC_BO, SHOP_ORDER_LOC_RES, SHOP_ORDER_SET_BY_ERP, ORIGINAL_USER_BO, STORAGE_LOCATION_BO, HAS_BEEN_USED, RECEIVE_DATE_TIME, CREATED_DATE_TIME, MODIFIED_DATE_TIME, PARTITION_DATE, PARENT_INVENTORY_BO, ERP_INVENTORY + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO INVENTORY + + HANDLE, + CHANGE_STAMP, + SITE, + INVENTORY_ID, + ITEM_BO, + INVENTORY_CONTEXT_GBO, + DESCRIPTION, + QTY_ON_HAND, + ASSY_DATA_TYPE_BO, + USAGE_COUNT, + MAXIMUM_USAGE, + STATUS_BO, + ORIGINAL_QTY, + WORK_CENTER_LOC_BO, + WORK_CENTER_LOC_RES, + OPERATION_LOC_BO, + OPERATION_LOC_RES, + RESOURCE_LOC_BO, + RESOURCE_LOC_RES, + SHOP_ORDER_LOC_BO, + SHOP_ORDER_LOC_RES, + SHOP_ORDER_SET_BY_ERP, + ORIGINAL_USER_BO, + STORAGE_LOCATION_BO, + HAS_BEEN_USED, + RECEIVE_DATE_TIME, + CREATED_DATE_TIME, + MODIFIED_DATE_TIME, + PARTITION_DATE, + PARENT_INVENTORY_BO, + ERP_INVENTORY, + VALUES + + #{handle}, + #{changeStamp}, + #{site}, + #{inventoryId}, + #{itemBo}, + #{inventoryContextGbo}, + #{description}, + #{qtyOnHand}, + #{assyDataTypeBo}, + #{usageCount}, + #{maximumUsage}, + #{statusBo}, + #{originalQty}, + #{workCenterLocBo}, + #{workCenterLocRes}, + #{operationLocBo}, + #{operationLocRes}, + #{resourceLocBo}, + #{resourceLocRes}, + #{shopOrderLocBo}, + #{shopOrderLocRes}, + #{shopOrderSetByErp}, + #{originalUserBo}, + #{storageLocationBo}, + #{hasBeenUsed}, + #{receiveDateTime}, + #{createdDateTime}, + #{modifiedDateTime}, + #{partitionDate}, + #{parentInventoryBo}, + #{erpInventory}, + + + + + INSERT INTO INVENTORY + + + VALUES + + #{handle}, + #{changeStamp}, + #{site}, + #{inventoryId}, + #{itemBo}, + #{inventoryContextGbo}, + #{description}, + #{qtyOnHand}, + #{assyDataTypeBo}, + #{usageCount}, + #{maximumUsage}, + #{statusBo}, + #{originalQty}, + #{workCenterLocBo}, + #{workCenterLocRes}, + #{operationLocBo}, + #{operationLocRes}, + #{resourceLocBo}, + #{resourceLocRes}, + #{shopOrderLocBo}, + #{shopOrderLocRes}, + #{shopOrderSetByErp}, + #{originalUserBo}, + #{storageLocationBo}, + #{hasBeenUsed}, + #{receiveDateTime}, + #{createdDateTime}, + #{modifiedDateTime}, + #{partitionDate}, + #{parentInventoryBo}, + #{erpInventory}, + + + + + + + + + + UPDATE INVENTORY + HANDLE=#{et.handle}, + CHANGE_STAMP=#{et.changeStamp}, + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + ITEM_BO=#{et.itemBo}, + INVENTORY_CONTEXT_GBO=#{et.inventoryContextGbo}, + DESCRIPTION=#{et.description}, + QTY_ON_HAND=#{et.qtyOnHand}, + ASSY_DATA_TYPE_BO=#{et.assyDataTypeBo}, + USAGE_COUNT=#{et.usageCount}, + MAXIMUM_USAGE=#{et.maximumUsage}, + STATUS_BO=#{et.statusBo}, + ORIGINAL_QTY=#{et.originalQty}, + WORK_CENTER_LOC_BO=#{et.workCenterLocBo}, + WORK_CENTER_LOC_RES=#{et.workCenterLocRes}, + OPERATION_LOC_BO=#{et.operationLocBo}, + OPERATION_LOC_RES=#{et.operationLocRes}, + RESOURCE_LOC_BO=#{et.resourceLocBo}, + RESOURCE_LOC_RES=#{et.resourceLocRes}, + SHOP_ORDER_LOC_BO=#{et.shopOrderLocBo}, + SHOP_ORDER_LOC_RES=#{et.shopOrderLocRes}, + SHOP_ORDER_SET_BY_ERP=#{et.shopOrderSetByErp}, + ORIGINAL_USER_BO=#{et.originalUserBo}, + STORAGE_LOCATION_BO=#{et.storageLocationBo}, + HAS_BEEN_USED=#{et.hasBeenUsed}, + RECEIVE_DATE_TIME=#{et.receiveDateTime}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + PARTITION_DATE=#{et.partitionDate}, + PARENT_INVENTORY_BO=#{et.parentInventoryBo}, + ERP_INVENTORY=#{et.erpInventory}, + + + + + HANDLE=#{ew.entity.handle} + AND CHANGE_STAMP=#{ew.entity.changeStamp} + AND SITE=#{ew.entity.site} + AND INVENTORY_ID=#{ew.entity.inventoryId} + AND ITEM_BO=#{ew.entity.itemBo} + AND INVENTORY_CONTEXT_GBO=#{ew.entity.inventoryContextGbo} + AND DESCRIPTION=#{ew.entity.description} + AND QTY_ON_HAND=#{ew.entity.qtyOnHand} + AND ASSY_DATA_TYPE_BO=#{ew.entity.assyDataTypeBo} + AND USAGE_COUNT=#{ew.entity.usageCount} + AND MAXIMUM_USAGE=#{ew.entity.maximumUsage} + AND STATUS_BO=#{ew.entity.statusBo} + AND ORIGINAL_QTY=#{ew.entity.originalQty} + AND WORK_CENTER_LOC_BO=#{ew.entity.workCenterLocBo} + AND WORK_CENTER_LOC_RES=#{ew.entity.workCenterLocRes} + AND OPERATION_LOC_BO=#{ew.entity.operationLocBo} + AND OPERATION_LOC_RES=#{ew.entity.operationLocRes} + AND RESOURCE_LOC_BO=#{ew.entity.resourceLocBo} + AND RESOURCE_LOC_RES=#{ew.entity.resourceLocRes} + AND SHOP_ORDER_LOC_BO=#{ew.entity.shopOrderLocBo} + AND SHOP_ORDER_LOC_RES=#{ew.entity.shopOrderLocRes} + AND SHOP_ORDER_SET_BY_ERP=#{ew.entity.shopOrderSetByErp} + AND ORIGINAL_USER_BO=#{ew.entity.originalUserBo} + AND STORAGE_LOCATION_BO=#{ew.entity.storageLocationBo} + AND HAS_BEEN_USED=#{ew.entity.hasBeenUsed} + AND RECEIVE_DATE_TIME=#{ew.entity.receiveDateTime} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND PARTITION_DATE=#{ew.entity.partitionDate} + AND PARENT_INVENTORY_BO=#{ew.entity.parentInventoryBo} + AND ERP_INVENTORY=#{ew.entity.erpInventory} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + DELETE FROM INVENTORY + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM INVENTORY + + + + + HANDLE=#{ew.entity.handle} + + AND CHANGE_STAMP=#{ew.entity.changeStamp} + AND SITE=#{ew.entity.site} + AND INVENTORY_ID=#{ew.entity.inventoryId} + AND ITEM_BO=#{ew.entity.itemBo} + AND INVENTORY_CONTEXT_GBO=#{ew.entity.inventoryContextGbo} + AND DESCRIPTION=#{ew.entity.description} + AND QTY_ON_HAND=#{ew.entity.qtyOnHand} + AND ASSY_DATA_TYPE_BO=#{ew.entity.assyDataTypeBo} + AND USAGE_COUNT=#{ew.entity.usageCount} + AND MAXIMUM_USAGE=#{ew.entity.maximumUsage} + AND STATUS_BO=#{ew.entity.statusBo} + AND ORIGINAL_QTY=#{ew.entity.originalQty} + AND WORK_CENTER_LOC_BO=#{ew.entity.workCenterLocBo} + AND WORK_CENTER_LOC_RES=#{ew.entity.workCenterLocRes} + AND OPERATION_LOC_BO=#{ew.entity.operationLocBo} + AND OPERATION_LOC_RES=#{ew.entity.operationLocRes} + AND RESOURCE_LOC_BO=#{ew.entity.resourceLocBo} + AND RESOURCE_LOC_RES=#{ew.entity.resourceLocRes} + AND SHOP_ORDER_LOC_BO=#{ew.entity.shopOrderLocBo} + AND SHOP_ORDER_LOC_RES=#{ew.entity.shopOrderLocRes} + AND SHOP_ORDER_SET_BY_ERP=#{ew.entity.shopOrderSetByErp} + AND ORIGINAL_USER_BO=#{ew.entity.originalUserBo} + AND STORAGE_LOCATION_BO=#{ew.entity.storageLocationBo} + AND HAS_BEEN_USED=#{ew.entity.hasBeenUsed} + AND RECEIVE_DATE_TIME=#{ew.entity.receiveDateTime} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND PARTITION_DATE=#{ew.entity.partitionDate} + AND PARENT_INVENTORY_BO=#{ew.entity.parentInventoryBo} + AND ERP_INVENTORY=#{ew.entity.erpInventory} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + diff --git a/meapi/src/main/resources/mapper/ItemMapper.xml b/meapi/src/main/resources/mapper/ItemMapper.xml index 2b516e93..f8cdeaef 100644 --- a/meapi/src/main/resources/mapper/ItemMapper.xml +++ b/meapi/src/main/resources/mapper/ItemMapper.xml @@ -74,7 +74,7 @@ - I.HANDLE, I.CHANGE_STAMP, I.SITE, I.ITEM, IT.DESCRIPTION, I.STATUS_BO, I.ITEM_TYPE, I.ERP_GTIN, I.AIN_MODEL_EXTERNAL_ID, I.EFF_START_SEQ, I.EFF_END_SEQ, I.LOT_SIZE, I.QUANTITY_RESTRICTION, I.ROUTER_BO, I.BOM_BO, I.COMPONENT_GROUP_BO, I.ITEM_GROUP_BO, I.LAST_RELEASED_DATE, I.ASSY_DATA_TYPE_BO, I.PRE_ASSEMBLED, I.REVISION, I.CURRENT_REVISION, I.EFF_START_DATE, I.EFF_END_DATE, I.SELECTOR_ACTIVITY_BO, I.SELECTOR_NOTE, I.ASSIGN_SERIAL_AT_RELEASE, I.CREATED_DATE_TIME, I.MODIFIED_DATE_TIME, I.DRAWING_NAME, I.MAXIMUM_USAGE, I.USE_COMP_FROM_DRAWING, I.PANEL, I.REMOVAL_ASSY_DATA_TYPE_BO, I.INV_ASSY_DATA_TYPE_BO, I.ORIGINAL_STATUS_BO, I.QTY_MULTIPLIER, I.CREATE_TRACKABLE_SFC, I.MASK_GROUP_BO, I.TRANSFER_ITEM_GROUP_BO, I.UNIT_OF_MEASURE, I.HOLD_ID, I.COLLECT_PARENT_SERIAL, I.REQ_SERIAL_CHANGE, I.IS_COLLECTOR, I.INC_BATCH_NUMBER, I.TIME_SENSITIVE, I.MAX_SHELF_LIFE, I.MAX_SHELF_LIFE_UNITS, I.MAX_FLOOR_LIFE, I.MAX_FLOOR_LIFE_UNITS, I.NOTES, I.TB_COMP_TYPE, I.CONSUMPTION_TOL, I.ERP_BACKFLUSHING, I.STORAGE_LOCATION_BO, I.ERP_PUTAWAY_STORLOC, I.PRODUCTION_SUPPLY_AREA, I.USE_ORDER_ID_REL1 + I.HANDLE, I.CHANGE_STAMP, I.SITE, I.ITEM, IT.DESCRIPTION, I.STATUS_BO, I.ITEM_TYPE, I.MATERIAL_TYPE, I.ERP_GTIN, I.AIN_MODEL_EXTERNAL_ID, I.EFF_START_SEQ, I.EFF_END_SEQ, I.LOT_SIZE, I.QUANTITY_RESTRICTION, I.ROUTER_BO, I.BOM_BO, I.COMPONENT_GROUP_BO, I.ITEM_GROUP_BO, I.LAST_RELEASED_DATE, I.ASSY_DATA_TYPE_BO, I.PRE_ASSEMBLED, I.REVISION, I.CURRENT_REVISION, I.EFF_START_DATE, I.EFF_END_DATE, I.SELECTOR_ACTIVITY_BO, I.SELECTOR_NOTE, I.ASSIGN_SERIAL_AT_RELEASE, I.CREATED_DATE_TIME, I.MODIFIED_DATE_TIME, I.DRAWING_NAME, I.MAXIMUM_USAGE, I.USE_COMP_FROM_DRAWING, I.PANEL, I.REMOVAL_ASSY_DATA_TYPE_BO, I.INV_ASSY_DATA_TYPE_BO, I.ORIGINAL_STATUS_BO, I.QTY_MULTIPLIER, I.CREATE_TRACKABLE_SFC, I.MASK_GROUP_BO, I.TRANSFER_ITEM_GROUP_BO, I.UNIT_OF_MEASURE, I.HOLD_ID, I.COLLECT_PARENT_SERIAL, I.REQ_SERIAL_CHANGE, I.IS_COLLECTOR, I.INC_BATCH_NUMBER, I.TIME_SENSITIVE, I.MAX_SHELF_LIFE, I.MAX_SHELF_LIFE_UNITS, I.MAX_FLOOR_LIFE, I.MAX_FLOOR_LIFE_UNITS, I.NOTES, I.TB_COMP_TYPE, I.CONSUMPTION_TOL, I.ERP_BACKFLUSHING, I.STORAGE_LOCATION_BO, I.ERP_PUTAWAY_STORLOC, I.PRODUCTION_SUPPLY_AREA, I.USE_ORDER_ID_REL1 @@ -993,6 +993,7 @@ ${ew.sqlSegment} + -