diff --git a/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java b/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java index 388fadb8..9f727651 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/controller/InspectionTaskController.java @@ -32,14 +32,14 @@ public class InspectionTaskController { @ResponseBody @PostMapping("/save") public R getInspectionTaskList(@RequestBody Map paramMap){ - inspectionTaskService.save(paramMap); + inspectionTaskService.saveTask(paramMap); return R.ok("保存成功"); } @ResponseBody @RequestMapping(method = RequestMethod.POST, value = "/createTask") public R createTask(@RequestBody Map paramMap) { - inspectionTaskService.createTask(paramMap); - return R.ok("创建任务成功!"); + Map map = inspectionTaskService.createTask(paramMap); + return R.ok(map); } /** diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java index f3cf2ee5..f2d9330d 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java @@ -27,9 +27,9 @@ public interface InspectionTaskService extends IService { List selectList(InspectionTask inspectionTask); - void save(Map paramMap); + void saveTask(Map paramMap); - void createTask(Map paramMap); + Map createTask(Map paramMap); InspectionTask isCreateTask(String site, String category, String sfc, String operation, String stepId); } \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java index cd7fd634..e15758f7 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionItemServiceImpl.java @@ -86,6 +86,7 @@ public class InspectionItemServiceImpl extends ServiceImpl inspectionItemAdditionList = inspectionItem.getInspectionItemAdditionList(); StringBuilder inspectionItemNo = new StringBuilder(); + inspectionItemNo.append(inspectionItem.getInspectionType()); inspectionItemAdditionList.forEach(inspectionItemAddition -> inspectionItemNo.append(inspectionItemAddition.getAdditionalObject())); return inspectionItemNo.toString(); } @@ -178,8 +179,9 @@ public class InspectionItemServiceImpl extends ServiceImpl implements InspectionTaskService { - @Autowired private InspectionTaskMapper inspectionTaskMapper; @Autowired - private InspectionTaskDetailService inspectionTaskDetailService; - @Autowired private InspectionItemService inspectionItemService; + @Autowired + private InspectionItemDetailService inspectionItemDetailService; + @Autowired + private InspectionTaskDetailService inspectionTaskDetailService; + @Override public IPage selectPage(FrontPage frontPage, InspectionTask inspectionTask) { @@ -59,26 +63,27 @@ public class InspectionTaskServiceImpl extends ServiceImpl paramMap) { + public void saveTask(Map paramMap) { String site = CommonMethods.getSite(); String user = CommonMethods.getUser(); //类型(首检|S/巡检|X/专检|Y/FQC|F/尾检|W/自检|Z/互检|H) String category = (String) paramMap.get("CATEGORY"); //获取检验项目 - List> taskList = (List>) paramMap.get("TASK_LIST"); + List> taskList = (List>) paramMap.get("taskList"); //更新任务表 InspectionTask task = new InspectionTask(); String taskHandle = (String) paramMap.get("TASK_HANDLE"); if(StringUtil.isEmpty(taskHandle)){ throw new BaseException("保存失败,请先进行检索数据!"); } - task.setHandle(taskHandle); task.setComments((String) paramMap.get("COMMENTS")); - task.setStatus("COMPLETE"); + task.setStatus(Constants.INSPECTION_TASK_STATUS_COMPLETE); task.setModifyUser(user); task.setModifiedDateTime(LocalDateTime.now()); - task.setResult((String) paramMap.get("RESULT")); - updateById(task); + task.setResult((String) paramMap.get("result")); + UpdateWrapper updateWrapper=new UpdateWrapper<>(); + updateWrapper.eq(InspectionTask.HANDLE,taskHandle); + update(task,updateWrapper); //新增任务从表 if (taskList != null && taskList.size() != 0) { List detailList = new ArrayList<>(); @@ -87,10 +92,10 @@ public class InspectionTaskServiceImpl extends ServiceImpl paramMap) { + public Map createTask(Map paramMap) { + Mapmap=new HashMap<>(); //站点 String site = CommonMethods.getSite(); @@ -142,62 +148,73 @@ public class InspectionTaskServiceImpl extends ServiceImpl inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, category); + if (inspectionItemDetails.size() == 0||inspectionItemDetails.get(0)==null) { + throw new BaseException("创建任务失败,未维护数据收集组!"); + } //自检/互检/包装 校验是否在当前工序+工序标识 做过检验任务 InspectionTask createTask = isCreateTask(site, category, sfc, operation, stepId); if (createTask!=null&&createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)) { throw new BaseException("当前产品批次[" + sfc + "]已做完检验任务"); } - - - List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, category); - if (inspectionItemDetails.size() == 0||StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) { - throw new BaseException("创建任务失败,未维护数据收集组!"); - } - String handle = "InspectionTaskBO:" + site + "," + UUID.randomUUID().toString(); - Date date = new Date(System.currentTimeMillis()); - SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyyMMddHHmmss"); - String taskNo = ""; - String itemNumber = (String) paramMap.get("ITEM_NUMBER"); - String description = ""; - if (category.equals(Constants.INSPECTION_TYPE_Z)) { - if (StringUtil.isBlank(itemNumber) ) { - taskNo = "Z_" + dateFormat1.format(date); - } else{ - taskNo = "Z_" + itemNumber + "_" + dateFormat1.format(date); - } - description = "自检检验任务"; - } else if (category.equals(Constants.INSPECTION_TYPE_H)) { - if (StringUtil.isBlank(itemNumber)) { - taskNo = "H_" + dateFormat1.format(date); + String inspectionItemBo = inspectionItemDetails.get(0).getInspectionItemBo(); + + if (createTask!=null){ + map.put("taskHandle",createTask.getHandle()); + }else { + String handle = "InspectionTaskBO:" + site + "," + UUID.randomUUID().toString(); + Date date = new Date(System.currentTimeMillis()); + SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyyMMddHHmmss"); + String taskNo = ""; + String itemNumber = (String) paramMap.get("ITEM_NUMBER"); + String description = ""; + if (category.equals(Constants.INSPECTION_TYPE_Z)) { + if (StringUtil.isBlank(itemNumber) ) { + taskNo = "Z_" + dateFormat1.format(date); + } else{ + taskNo = "Z_" + itemNumber + "_" + dateFormat1.format(date); + } + description = "自检检验任务"; + } else if (category.equals(Constants.INSPECTION_TYPE_H)) { + if (StringUtil.isBlank(itemNumber)) { + taskNo = "H_" + dateFormat1.format(date); + } else { + taskNo = "H_" + itemNumber + "_" + dateFormat1.format(date); + } + description = "互检检验任务"; } else { - taskNo = "H_" + itemNumber + "_" + dateFormat1.format(date); + throw new BaseException("生成任务号失败,请传入检验类型!"); } - description = "互检检验任务"; - } else { - throw new BaseException("生成任务号失败,请传入检验类型!"); + InspectionTask task = new InspectionTask(); + task.setHandle(handle); + task.setSite(site); + task.setCategory(category); + task.setTaskNo(taskNo); + task.setStatus(Constants.INSPECTION_TASK_STATUS_NEW); + task.setDescription(description); + task.setInspectionItemBo( inspectionItemBo); + task.setShopOrder(shopOrder); + task.setWorkCenter((String) paramMap.get("WORK_CENTER")); + task.setSfc(sfc); + task.setOperation(operation); + task.setStepId(stepId); + task.setResrce((String) paramMap.get("RESRCE")); + task.setCreateUser((String) paramMap.get("CREATE_USER")); + task.setCreatedDateTime(LocalDateTime.now()); + task.setModifyUser((String) paramMap.get("CREATE_USER")); + task.setModifiedDateTime(LocalDateTime.now()); + task.setSfcDispatchBo((String) paramMap.get("SFC_DISPATCH_DETAIL_BO")); + task.setSfc(sfc); + save(task); + map.put("taskHandle",handle); } - InspectionTask task = new InspectionTask(); - task.setHandle(handle); - task.setSite(site); - task.setCategory(category); - task.setTaskNo(taskNo); - task.setStatus(Constants.INSPECTION_TASK_STATUS_NEW); - task.setDescription(description); - task.setInspectionItemBo( inspectionItemDetails.get(0).getInspectionItemBo()); - task.setShopOrder(shopOrder); - task.setWorkCenter((String) paramMap.get("WORK_CENTER")); - task.setSfc(sfc); - task.setOperation(operation); - task.setStepId(stepId); - task.setResrce((String) paramMap.get("RESRCE")); - task.setCreateUser((String) paramMap.get("CREATE_USER")); - task.setCreatedDateTime(LocalDateTime.now()); - task.setModifyUser((String) paramMap.get("CREATE_USER")); - task.setModifiedDateTime(LocalDateTime.now()); - task.setSfcDispatchBo((String) paramMap.get("SFC_DISPATCH_DETAIL_BO")); - task.setSfc(sfc); - save(task); + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.eq(InspectionItemDetail.INSPECTION_ITEM_BO,inspectionItemBo); + queryWrapper.orderByAsc(InspectionItemDetail.SEQ); + List list = inspectionItemDetailService.list(queryWrapper); + map.put("inspectionItemList",list); + map.put("inspectItemNo",StringUtil.trimHandle(inspectionItemBo)); + return map; } @Override public InspectionTask isCreateTask(String site,String category,String sfc,String operation ,String stepId) { diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java index cf942af5..96c2d065 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java @@ -51,10 +51,10 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl0){ - prodReadyTask.setStatus(STATUS_WAITING); + prodReadyTask.setStatus(STATUS_NEW); prodReadyTaskDetailService.saveBatch(prodReadyTaskDetailList); }else { - prodReadyTask.setStatus(STATUS_FINSH); + prodReadyTask.setStatus(STATUS_FINISH); + prodReadyTask.setResult(Constants.RSESULT_OK); prodReadyTask.setCompleteUser(user); prodReadyTask.setCompleteDateTime(LocalDateTime.now()); } @@ -209,7 +210,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl prodReadyTaskDetailList = prodReadyTask.getProdReadyTaskDetailList(); - prodReadyTask.setStatus(STATUS_FINSH); + prodReadyTask.setStatus(STATUS_FINISH); prodReadyTask.setCompleteUser(user); prodReadyTask.setCompleteDateTime(LocalDateTime.now()); prodReadyTask.setModifyUser(user); diff --git a/common/src/main/resources/mapper/InspectionItemDetailMapper.xml b/common/src/main/resources/mapper/InspectionItemDetailMapper.xml index 726109ca..73a97c74 100644 --- a/common/src/main/resources/mapper/InspectionItemDetailMapper.xml +++ b/common/src/main/resources/mapper/InspectionItemDetailMapper.xml @@ -1,6 +1,6 @@ - + diff --git a/common/src/main/resources/mapper/InspectionItemMapper.xml b/common/src/main/resources/mapper/InspectionItemMapper.xml index 3838fa58..52f1e80b 100644 --- a/common/src/main/resources/mapper/InspectionItemMapper.xml +++ b/common/src/main/resources/mapper/InspectionItemMapper.xml @@ -1,6 +1,6 @@ - + @@ -448,7 +448,7 @@ diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java index 615c880c..5c83288f 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java @@ -37,5 +37,5 @@ public interface SfcDispatchMapper extends BaseMapper { @Param("dispatchNo") String dispatchNo, @Param("dispatchStatus") String dispatchStatus, @Param("modifyUser") String modifyUser, - @Param("modifyDateTime") LocalDateTime modifiedDateTime); + @Param("modifiedDateTime") LocalDateTime modifiedDateTime); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/InventoryController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/InventoryController.java new file mode 100644 index 00000000..fb0e375f --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/InventoryController.java @@ -0,0 +1,139 @@ +package com.foreverwin.mesnac.meapi.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.meapi.service.InventoryService; +import com.foreverwin.mesnac.meapi.model.Inventory; +import java.util.List; + +/** + * + * @author Philip + * @since 2021-07-09 + */ +@RestController +@RequestMapping("/INVENTORY") +public class InventoryController { + + @Autowired + public InventoryService inventoryService; + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getInventoryById(@PathVariable String id) { + return R.ok( inventoryService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getInventoryList(Inventory inventory){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inventory); + result = inventoryService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, Inventory inventory){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(inventory); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(Inventory::getHandle, frontPage.getGlobalQuery()) + .or().like(Inventory::getSite, frontPage.getGlobalQuery()) + .or().like(Inventory::getInventoryId, frontPage.getGlobalQuery()) + .or().like(Inventory::getItemBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getInventoryContextGbo, frontPage.getGlobalQuery()) + .or().like(Inventory::getDescription, frontPage.getGlobalQuery()) + .or().like(Inventory::getAssyDataTypeBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getStatusBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getWorkCenterLocBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getWorkCenterLocRes, frontPage.getGlobalQuery()) + .or().like(Inventory::getOperationLocBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getOperationLocRes, frontPage.getGlobalQuery()) + .or().like(Inventory::getResourceLocBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getResourceLocRes, frontPage.getGlobalQuery()) + .or().like(Inventory::getShopOrderLocBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getShopOrderLocRes, frontPage.getGlobalQuery()) + .or().like(Inventory::getShopOrderSetByErp, frontPage.getGlobalQuery()) + .or().like(Inventory::getOriginalUserBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getStorageLocationBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getHasBeenUsed, frontPage.getGlobalQuery()) + .or().like(Inventory::getParentInventoryBo, frontPage.getGlobalQuery()) + .or().like(Inventory::getErpInventory, frontPage.getGlobalQuery()) + ); + } + result = inventoryService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param inventory 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody Inventory inventory) { + return R.ok(inventoryService.save(inventory)); + } + + /** + * 修改 + * @param inventory 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody Inventory inventory) { + return R.ok(inventoryService.updateById(inventory)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(inventoryService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(inventoryService.removeByIds(ids)); + } +} \ No newline at end of file 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..fa867836 --- /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 Philip + * @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/model/Inventory.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Inventory.java new file mode 100644 index 00000000..d8836d61 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Inventory.java @@ -0,0 +1,444 @@ +package com.foreverwin.mesnac.meapi.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author Philip + * @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 BigDecimal 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 BigDecimal 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 BigDecimal getQtyOnHand() { + return qtyOnHand; + } + + public void setQtyOnHand(BigDecimal 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 BigDecimal getOriginalQty() { + return originalQty; + } + + public void setOriginalQty(BigDecimal 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..8ca4c9bc --- /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 Philip + * @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/impl/InventoryServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/InventoryServiceImpl.java new file mode 100644 index 00000000..053b19c7 --- /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; +/** + *

+ * 服务实现类 + *

+ * + * @author Philip + * @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/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/SfcMapper.xml b/meapi/src/main/resources/mapper/SfcMapper.xml index 6e535505..8c683e9e 100644 --- a/meapi/src/main/resources/mapper/SfcMapper.xml +++ b/meapi/src/main/resources/mapper/SfcMapper.xml @@ -668,7 +668,9 @@ SELECT S.SFC,S.QTY,IT.DESCRIPTION ITEM_DESCRIPTION FROM SFC S LEFT JOIN ITEM_T IT ON S.ITEM_BO=IT.HANDLE AND IT.LOCALE=#{locale} JOIN Z_SFC_DISPATCH zsd ON S.SFC=zsd.SFC AND S.SITE=zsd.SITE + JOIN Z_PROD_READY_TASK zprt ON ZPRT.SFC_DISPATCH_BO=zsd.HANDLE WHERE S.SITE=#{ew.entity.site} AND ZSD.RESRCE=#{ew.entity.resrce} AND ZSD.DISPATCH_STATUS!='CANCEL' AND S.STATUS_BO IN ('StatusBO:'||#{ew.entity.site}||',401','StatusBO:'||#{ew.entity.site}||',402','StatusBO:'||#{ew.entity.site}||',403') + AND zprt.STATUS='FINISH' AND ZPRT."RESULT"='OK'
diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/LoadInventoryController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/LoadInventoryController.java new file mode 100644 index 00000000..9d53a45b --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/LoadInventoryController.java @@ -0,0 +1,148 @@ +package com.foreverwin.mesnac.production.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; +import com.foreverwin.mesnac.production.model.LoadInventory; +import com.foreverwin.mesnac.production.service.LoadInventoryService; +import com.foreverwin.modular.core.util.FrontPage; +import com.foreverwin.modular.core.util.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * + * @author Philip + * @since 2021-07-09 + */ +@RestController +@RequestMapping("/Z-LOAD-INVENTORY") +public class LoadInventoryController { + + @Autowired + public LoadInventoryService loadInventoryService; + + /** + * 查询资源上料记录 + * + * @return + */ + @ResponseBody + @GetMapping("/loadList") + public R getLoadList(WorkCenterDto workCenterDto){ + List result; + result = loadInventoryService.getLoadInventoryList(workCenterDto); + return R.ok(result); + } + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("/loadInventory") + public R loadInventory(LoadInventory loadInventory){ + List result; + result = loadInventoryService.loadInventory(loadInventory); + return R.ok(result); + } + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getLoadInventoryById(@PathVariable String id) { + return R.ok( loadInventoryService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getLoadInventoryList(LoadInventory loadInventory){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventory); + result = loadInventoryService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, LoadInventory loadInventory){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventory); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(LoadInventory::getHandle, frontPage.getGlobalQuery()) + .or().like(LoadInventory::getSite, frontPage.getGlobalQuery()) + .or().like(LoadInventory::getInventoryId, frontPage.getGlobalQuery()) + .or().like(LoadInventory::getResrce, frontPage.getGlobalQuery()) + .or().like(LoadInventory::getItem, frontPage.getGlobalQuery()) + .or().like(LoadInventory::getCreateUser, frontPage.getGlobalQuery()) + .or().like(LoadInventory::getModifyUser, frontPage.getGlobalQuery()) + ); + } + result = loadInventoryService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param loadInventory 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody LoadInventory loadInventory) { + return R.ok(loadInventoryService.save(loadInventory)); + } + + /** + * 修改 + * @param loadInventory 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody LoadInventory loadInventory) { + return R.ok(loadInventoryService.updateById(loadInventory)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(loadInventoryService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(loadInventoryService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/LoadInventoryLogController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/LoadInventoryLogController.java new file mode 100644 index 00000000..14b373b8 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/LoadInventoryLogController.java @@ -0,0 +1,124 @@ +package com.foreverwin.mesnac.production.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.production.service.LoadInventoryLogService; +import com.foreverwin.mesnac.production.model.LoadInventoryLog; +import java.util.List; + +/** + * + * @author Philip + * @since 2021-07-09 + */ +@RestController +@RequestMapping("/Z-LOAD-INVENTORY-LOG") +public class LoadInventoryLogController { + + @Autowired + public LoadInventoryLogService loadInventoryLogService; + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getLoadInventoryLogById(@PathVariable String id) { + return R.ok( loadInventoryLogService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getLoadInventoryLogList(LoadInventoryLog loadInventoryLog){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventoryLog); + result = loadInventoryLogService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, LoadInventoryLog loadInventoryLog){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventoryLog); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(LoadInventoryLog::getHandle, frontPage.getGlobalQuery()) + .or().like(LoadInventoryLog::getSite, frontPage.getGlobalQuery()) + .or().like(LoadInventoryLog::getInventoryId, frontPage.getGlobalQuery()) + .or().like(LoadInventoryLog::getResrce, frontPage.getGlobalQuery()) + .or().like(LoadInventoryLog::getItem, frontPage.getGlobalQuery()) + .or().like(LoadInventoryLog::getActionCode, frontPage.getGlobalQuery()) + .or().like(LoadInventoryLog::getCreateUser, frontPage.getGlobalQuery()) + ); + } + result = loadInventoryLogService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param loadInventoryLog 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody LoadInventoryLog loadInventoryLog) { + return R.ok(loadInventoryLogService.save(loadInventoryLog)); + } + + /** + * 修改 + * @param loadInventoryLog 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody LoadInventoryLog loadInventoryLog) { + return R.ok(loadInventoryLogService.updateById(loadInventoryLog)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(loadInventoryLogService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(loadInventoryLogService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java index 00d1cfb2..e45ae9db 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java @@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import java.util.List; +import java.util.Map; @Controller @RequestMapping("/sfcDataMains") @@ -41,25 +41,25 @@ public class PodTemplateController { /** * sfc开始 - * @param sfcDtoList + * @param map * @return */ @ResponseBody @PostMapping("/sfcStart") - public R sfcStart(@RequestBody List sfcDtoList) { - podTemplateService.sfcStart(sfcDtoList); + public R sfcStart(@RequestBody Map map) { + podTemplateService.sfcStart(map); return R.ok(); } /** * sfc完成 - * @param sfcDtoList + * @param map * @return */ @ResponseBody @PostMapping("/sfcComplete") - public R sfcComplete(@RequestBody List sfcDtoList) { - podTemplateService.sfcComplete(sfcDtoList); + public R sfcComplete(@RequestBody Map map) { + podTemplateService.sfcComplete(map); return R.ok(); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/mapper/LoadInventoryLogMapper.java b/production/src/main/java/com/foreverwin/mesnac/production/mapper/LoadInventoryLogMapper.java new file mode 100644 index 00000000..e56e0331 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/mapper/LoadInventoryLogMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.production.mapper; + +import com.foreverwin.mesnac.production.model.LoadInventoryLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 上卸料日志表 Mapper 接口 + *

+ * + * @author Philip + * @since 2021-07-09 + */ +@Repository +public interface LoadInventoryLogMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/mapper/LoadInventoryMapper.java b/production/src/main/java/com/foreverwin/mesnac/production/mapper/LoadInventoryMapper.java new file mode 100644 index 00000000..b629cadf --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/mapper/LoadInventoryMapper.java @@ -0,0 +1,22 @@ +package com.foreverwin.mesnac.production.mapper; + +import com.foreverwin.mesnac.production.model.LoadInventory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * 上料表 Mapper 接口 + *

+ * + * @author Philip + * @since 2021-07-09 + */ +@Repository +public interface LoadInventoryMapper extends BaseMapper { + + List getLoadInventoryList(@Param("site") String site,@Param("resrce") String resrce, @Param("language") String language); +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/mapper/SfcCrossMapper.java b/production/src/main/java/com/foreverwin/mesnac/production/mapper/SfcCrossMapper.java index 09244b09..8ef43a58 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/mapper/SfcCrossMapper.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/mapper/SfcCrossMapper.java @@ -9,6 +9,7 @@ import com.foreverwin.mesnac.production.model.StepOperation; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -38,16 +39,7 @@ public interface SfcCrossMapper extends BaseMapper { * @return */ List findRouterOperationByRouterBo(@Param("site") String site, @Param("routerBo") String routerBo, @Param("locale") String locale); - - - - /** - * 根据工单查找未完成的SFC关联的SN信息 - * @param site - * @param shopOrderRef - * @return - */ - List findOpenStatusSnByShopOrder(@Param("site") String site, @Param("shopOrderRef") String shopOrderRef); + /** * 查询某条产线和给定状态的工单列表 @@ -67,25 +59,6 @@ public interface SfcCrossMapper extends BaseMapper { */ StepOperation findRouterLastOperationByRouterBo(IPage page, @Param("routerBo") String routerBo); - /** - * 根据SN查找最后一个有效的SFC信息 - * @param page - * @param site - * @param sn - * @return - */ - Sfc findSfcBySn(IPage page, @Param("site") String site, @Param("sn") String sn); - - /** - * 根据SN查找最后一个有效的SFC信息包含完工状态 - * @param page - * @param site - * @param sn - * @return - */ - Sfc findSfcBySnContainComplete(IPage page, @Param("site") String site, @Param("sn") String sn); - - List getResourceBySfc(@Param("site") String site, @Param("sfc") String sfc); Map querySfcData(@Param("site")String site, @Param("locale")String locale, @Param("dto")SfcDto sfcDto); @@ -93,4 +66,8 @@ public interface SfcCrossMapper extends BaseMapper { Map getSfcInfo(@Param("site")String site, @Param("sfc")String sfc, @Param("operation")String operation); Integer getSfcDispatch(@Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation, @Param("stepId") String stepId,@Param("resrce")String resrce); + + List getSfcListByResrce(@Param("site") String site, @Param("resrce") String resrce,@Param("locale") String locale); + + Integer resourceCheck(@Param("resrceBO")String resrceBO, @Param("dateTime")LocalDateTime dateTime); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/model/LoadInventory.java b/production/src/main/java/com/foreverwin/mesnac/production/model/LoadInventory.java new file mode 100644 index 00000000..892573a8 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/model/LoadInventory.java @@ -0,0 +1,216 @@ +package com.foreverwin.mesnac.production.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 上料表 + *

+ * + * @author Philip + * @since 2021-07-09 + */ + +@TableName("Z_LOAD_INVENTORY") + +public class LoadInventory extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + /** + * 站点 + */ + @TableField("SITE") + private String site; + /** + * 库存 + */ + @TableField("INVENTORY_ID") + private String inventoryId; + /** + * 资源 + */ + @TableField("RESRCE") + private String resrce; + /** + * 物料 + */ + @TableField("ITEM") + private String item; + /** + * 剩余数量 + */ + @TableField("QTY_ON_HAND") + private Double qtyOnHand; + /** + * 上料数量 + */ + @TableField("LOAD_QTY") + private Double loadQty; + /** + * 创建人 + */ + @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 getInventoryId() { + return inventoryId; + } + + public void setInventoryId(String inventoryId) { + this.inventoryId = inventoryId; + } + + public String getResrce() { + return resrce; + } + + public void setResrce(String resrce) { + this.resrce = resrce; + } + + public String getItem() { + return item; + } + + public void setItem(String item) { + this.item = item; + } + + public Double getQtyOnHand() { + return qtyOnHand; + } + + public void setQtyOnHand(Double qtyOnHand) { + this.qtyOnHand = qtyOnHand; + } + + public Double getLoadQty() { + return loadQty; + } + + public void setLoadQty(Double loadQty) { + this.loadQty = loadQty; + } + + 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 INVENTORY_ID = "INVENTORY_ID"; + +public static final String RESRCE = "RESRCE"; + +public static final String ITEM = "ITEM"; + +public static final String QTY_ON_HAND = "QTY_ON_HAND"; + +public static final String LOAD_QTY = "LOAD_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 "LoadInventory{" + + "handle = " + handle + + ", site = " + site + + ", inventoryId = " + inventoryId + + ", resrce = " + resrce + + ", item = " + item + + ", qtyOnHand = " + qtyOnHand + + ", loadQty = " + loadQty + + ", createUser = " + createUser + + ", createdDateTime = " + createdDateTime + + ", modifyUser = " + modifyUser + + ", modifiedDateTime = " + modifiedDateTime + + "}"; + } +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/model/LoadInventoryLog.java b/production/src/main/java/com/foreverwin/mesnac/production/model/LoadInventoryLog.java new file mode 100644 index 00000000..6ad8c52e --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/model/LoadInventoryLog.java @@ -0,0 +1,200 @@ +package com.foreverwin.mesnac.production.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * 上卸料日志表 + *

+ * + * @author Philip + * @since 2021-07-09 + */ + +@TableName("Z_LOAD_INVENTORY_LOG") + +public class LoadInventoryLog extends Model { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + /** + * 站点 + */ + @TableField("SITE") + private String site; + /** + * 库存 + */ + @TableField("INVENTORY_ID") + private String inventoryId; + /** + * 资源 + */ + @TableField("RESRCE") + private String resrce; + /** + * 物料 + */ + @TableField("ITEM") + private String item; + /** + * 上料1;卸料2 + */ + @TableField("ACTION_CODE") + private String actionCode; + /** + * 剩余数量 + */ + @TableField("QTY_ON_HAND") + private Double qtyOnHand; + /** + * 上料数量 + */ + @TableField("LOAD_QTY") + private Double loadQty; + /** + * 创建人 + */ + @TableField("CREATE_USER") + private String createUser; + /** + * 创建时间 + */ + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; + + + 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 getInventoryId() { + return inventoryId; + } + + public void setInventoryId(String inventoryId) { + this.inventoryId = inventoryId; + } + + public String getResrce() { + return resrce; + } + + public void setResrce(String resrce) { + this.resrce = resrce; + } + + public String getItem() { + return item; + } + + public void setItem(String item) { + this.item = item; + } + + public String getActionCode() { + return actionCode; + } + + public void setActionCode(String actionCode) { + this.actionCode = actionCode; + } + + public Double getQtyOnHand() { + return qtyOnHand; + } + + public void setQtyOnHand(Double qtyOnHand) { + this.qtyOnHand = qtyOnHand; + } + + public Double getLoadQty() { + return loadQty; + } + + public void setLoadQty(Double loadQty) { + this.loadQty = loadQty; + } + + 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 static final String HANDLE = "HANDLE"; + +public static final String SITE = "SITE"; + +public static final String INVENTORY_ID = "INVENTORY_ID"; + +public static final String RESRCE = "RESRCE"; + +public static final String ITEM = "ITEM"; + +public static final String ACTION_CODE = "ACTION_CODE"; + +public static final String QTY_ON_HAND = "QTY_ON_HAND"; + +public static final String LOAD_QTY = "LOAD_QTY"; + +public static final String CREATE_USER = "CREATE_USER"; + +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "LoadInventoryLog{" + + "handle = " + handle + + ", site = " + site + + ", inventoryId = " + inventoryId + + ", resrce = " + resrce + + ", item = " + item + + ", actionCode = " + actionCode + + ", qtyOnHand = " + qtyOnHand + + ", loadQty = " + loadQty + + ", createUser = " + createUser + + ", createdDateTime = " + createdDateTime + + "}"; + } +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/LoadInventoryLogService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/LoadInventoryLogService.java new file mode 100644 index 00000000..2dc912c3 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/LoadInventoryLogService.java @@ -0,0 +1,28 @@ +package com.foreverwin.mesnac.production.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.production.model.LoadInventoryLog; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 上卸料日志表 服务类 + *

+ * + * @author Philip + * @since 2021-07-09 + */ +public interface LoadInventoryLogService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, LoadInventoryLog loadInventoryLog); + + List selectList(LoadInventoryLog loadInventoryLog); +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/LoadInventoryService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/LoadInventoryService.java new file mode 100644 index 00000000..f5688715 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/LoadInventoryService.java @@ -0,0 +1,33 @@ +package com.foreverwin.mesnac.production.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; +import com.foreverwin.mesnac.production.model.LoadInventory; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 上料表 服务类 + *

+ * + * @author Philip + * @since 2021-07-09 + */ +public interface LoadInventoryService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, LoadInventory loadInventory); + + List selectList(LoadInventory loadInventory); + + List getLoadInventoryList(WorkCenterDto workCenterDto); + + List loadInventory(LoadInventory loadInventory); +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java index 6859913c..87ead247 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java @@ -3,7 +3,6 @@ package com.foreverwin.mesnac.production.service; import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; -import java.util.List; import java.util.Map; public interface PodTemplateService { @@ -13,7 +12,7 @@ public interface PodTemplateService { Object getSfcInfo(SfcDto sfcDto); - void sfcStart(List sfcDto); + void sfcStart(Map map); - void sfcComplete(List sfcDtoList); + void sfcComplete(Map map); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/SfcCrossService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/SfcCrossService.java index e8f33804..c3c60d5b 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/SfcCrossService.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/SfcCrossService.java @@ -1,6 +1,9 @@ package com.foreverwin.mesnac.production.service; +import com.foreverwin.mesnac.meapi.dto.SfcDto; + import java.math.BigDecimal; +import java.util.List; /** * 描述: 工序开始 @@ -41,4 +44,11 @@ public interface SfcCrossService { */ void passAction(String site, String operationRef, String resource, String sfcRef, BigDecimal qty) throws Exception; + List getSfcListByResrce(String site, String resrce); + + /** + * 当日是否进行点检任务 + * @param resrceBO + */ + void resourceCheck(String resrceBO); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/LoadInventoryLogServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/LoadInventoryLogServiceImpl.java new file mode 100644 index 00000000..67274eb7 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/LoadInventoryLogServiceImpl.java @@ -0,0 +1,46 @@ +package com.foreverwin.mesnac.production.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.production.model.LoadInventoryLog; +import com.foreverwin.mesnac.production.mapper.LoadInventoryLogMapper; +import com.foreverwin.mesnac.production.service.LoadInventoryLogService; +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 Philip + * @since 2021-07-09 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class LoadInventoryLogServiceImpl extends ServiceImpl implements LoadInventoryLogService { + + + @Autowired + private LoadInventoryLogMapper loadInventoryLogMapper; + + @Override + public IPage selectPage(FrontPage frontPage, LoadInventoryLog loadInventoryLog) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventoryLog); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(LoadInventoryLog loadInventoryLog) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventoryLog); + return super.list(queryWrapper); + } + + +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/LoadInventoryServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/LoadInventoryServiceImpl.java new file mode 100644 index 00000000..13ec9628 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/LoadInventoryServiceImpl.java @@ -0,0 +1,94 @@ +package com.foreverwin.mesnac.production.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.foreverwin.mesnac.common.enums.HandleEnum; +import com.foreverwin.mesnac.common.service.CommonService; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; +import com.foreverwin.mesnac.meapi.model.Resrce; +import com.foreverwin.mesnac.meapi.service.InventoryService; +import com.foreverwin.mesnac.meapi.service.ResrceService; +import com.foreverwin.mesnac.production.mapper.LoadInventoryMapper; +import com.foreverwin.mesnac.production.model.LoadInventory; +import com.foreverwin.mesnac.production.service.LoadInventoryService; +import com.foreverwin.modular.core.exception.BaseException; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.FrontPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + *

+ * 上料表 服务实现类 + *

+ * + * @author Philip + * @since 2021-07-09 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class LoadInventoryServiceImpl extends ServiceImpl implements LoadInventoryService { + + @Autowired + private ResrceService resrceService; + @Autowired + private CommonService commonService; + @Autowired + private InventoryService inventoryService; + @Autowired + private LoadInventoryMapper loadInventoryMapper; + + @Override + public IPage selectPage(FrontPage frontPage, LoadInventory loadInventory) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventory); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(LoadInventory loadInventory) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(loadInventory); + return super.list(queryWrapper); + } + + @Override + public List getLoadInventoryList(WorkCenterDto workCenterDto) { + String site = CommonMethods.getSite(); + String resrce = workCenterDto.getResrce(); + String workCenter = workCenterDto.getWorkCenter(); + String handle = HandleEnum.RESOURCE.getHandle(site, resrce); + Resrce byId = resrceService.getById(handle); + if (byId==null){ + throw new BaseException("设备"+resrce+"不存在"); + } + //校验 + String workShopBo = commonService.getWorkShopBo(handle); + if (StringUtil.isBlank(workShopBo)) { + throw new BaseException("资源 " + resrce + " 未匹配到车间"); + } + if (!workCenter.equals(StringUtil.trimHandle(workShopBo))) { + throw new BaseException("资源 " + resrce + " 与车间不匹配"); + } + return loadInventoryMapper.getLoadInventoryList(site,resrce, LocaleContextHolder.getLocale().getLanguage()); + } + + @Override + public List loadInventory(LoadInventory loadInventory) { + String site = CommonMethods.getSite(); + String resrce = loadInventory.getResrce(); + String handle = HandleEnum.RESOURCE.getHandle(site, resrce); + Resrce byId = resrceService.getById(handle); + if (byId==null){ + throw new BaseException("设备"+resrce+"不存在"); + } + return null; + } + + +} \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java index 1531b079..35da3455 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java @@ -1,5 +1,7 @@ package com.foreverwin.mesnac.production.service.impl; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.enums.DispatchStatusEnum; import com.foreverwin.mesnac.common.enums.HandleEnum; @@ -75,14 +77,10 @@ public class PodTemplateServiceImpl implements PodTemplateService { if (!workCenter.equals(StringUtil.trimHandle(workShopBo))) { throw new BaseException("资源 " + resrce + " 与车间不匹配"); } - //查询在该设备存在活动中的SFC - List sfcList = sfcService.getSfcListByResrceBO(resrceBO); - //List> proReadyList = sfcDa - // taMainMapper.queryPrdReadyByResrce(site, resrce); + List sfcList = sfcCrossService.getSfcListByResrce(site,resrce); Map resultMap = new HashMap(); resultMap.put("SFC_LIST", sfcList); - //resultMap.put("READY_LIST", proReadyList); return resultMap; } @@ -90,7 +88,6 @@ public class PodTemplateServiceImpl implements PodTemplateService { public Map sfcEnter(SfcDto sfcDto) { String site = CommonMethods.getSite(); String sfc = sfcDto.getSfc(); - String operation = sfcDto.getOperation(); String locale = LocaleContextHolder.getLocale().getLanguage(); String resrce = sfcDto.getResrce(); //校验产品条码是否存在 @@ -113,8 +110,6 @@ public class PodTemplateServiceImpl implements PodTemplateService { throw new BaseException("产品条码与当前设备工序确认的派工单不匹配"); } - String substep = ""; - String substepHandle = ""; //构造前台所需要的数据 Map resultMap = sfcCrossMapper.querySfcData(site, locale, sfcDto); if (resultMap == null) { @@ -124,11 +119,25 @@ public class PodTemplateServiceImpl implements PodTemplateService { List> substepList = new ArrayList<>(); resultMap.put("SFC_STEP_LIST", substepList); - String stepId = (String) resultMap.get("STEP_ID"); - resultMap.put("IS_CREATE_W", "N"); - + //是否需要自检和互检 String isCreateH = "N"; String isCreateZ = "N"; + resultMap.put("IS_CREATE_W", "N"); + List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operationBySfcBo.getOperation(), operationBySfcBo.getStepId(), Constants.INSPECTION_TYPE_H); + if (inspectionItemDetails.size()>0&&inspectionItemDetails.get(0)!=null) { + InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_H, sfc, operationBySfcBo.getOperation(), operationBySfcBo.getStepId()); + if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){ + isCreateH="Y"; + } + + } + inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operationBySfcBo.getOperation(), operationBySfcBo.getStepId(), Constants.INSPECTION_TYPE_Z); + if (inspectionItemDetails.size()>0&& inspectionItemDetails.get(0)!=null) { + InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_Z, sfc, operationBySfcBo.getOperation(), operationBySfcBo.getStepId()); + if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){ + isCreateZ = "Y"; + } + } resultMap.put("IS_CREATE_H", isCreateH); resultMap.put("IS_CREATE_Z", isCreateZ); return resultMap; @@ -144,27 +153,32 @@ public class PodTemplateServiceImpl implements PodTemplateService { } @Override - public void sfcStart(List sfcDtoList) { + public void sfcStart(Map map) { + List sfcDtoList = (List) map.get("sfcDtoList"); + ObjectMapper mapper = new ObjectMapper(); + sfcDtoList = mapper.convertValue(sfcDtoList, new TypeReference>() {}); + String resrce = (String) map.get("resrce"); + String site = CommonMethods.getSite(); + + if (sfcDtoList==null||sfcDtoList.size()<1){ + throw new BaseException("作业列表不能为空"); + } + if (StringUtil.isBlank(resrce)){ + throw new BaseException("资源不能为空"); + } + //是否设备点检 + sfcCrossService.resourceCheck(HandleEnum.RESOURCE.getHandle(site,resrce)); sfcDtoList.forEach(sfcDto -> { - String site = CommonMethods.getSite(); String operation = sfcDto.getOperation(); Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); - String resrce = sfcDto.getResrce(); String sfc = sfcDto.getSfc(); String stepId = sfcDto.getStepId(); String dispatchNo = sfcDto.getDispatchNo(); Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString()); - try { - sfcCrossService.startAction(site, currentRevisionRef.getHandle(),resrce,sfcServiceById.getHandle(),qty); - } catch (Exception e) { - ExceptionUtil.throwException(e); - } - //更改派工单状态 - sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.START.getCode()); //是否有互检检验项目 List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_H); - if (inspectionItemDetails.size()>0&&StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) { + if (inspectionItemDetails.size()>0&&inspectionItemDetails.get(0)!=null) { //是否有互检检验任务及已完成 InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_H, sfc, operation, stepId); if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){ @@ -174,15 +188,32 @@ public class PodTemplateServiceImpl implements PodTemplateService { throw new BaseException("互检任务不合格,不能开始请检查"); } } + try { + sfcCrossService.startAction(site, currentRevisionRef.getHandle(),resrce,sfcServiceById.getHandle(),qty); + } catch (Exception e) { + ExceptionUtil.throwException(e); + } + //更改派工单状态 + sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.START.getCode()); + }); } @Override - public void sfcComplete(List sfcDtoList) { + public void sfcComplete(Map map) { + List sfcDtoList = (List) map.get("sfcDtoList"); + ObjectMapper mapper = new ObjectMapper(); + sfcDtoList = mapper.convertValue(sfcDtoList, new TypeReference>() {}); + String resrce = (String) map.get("resrce"); + if (sfcDtoList==null||sfcDtoList.size()<1){ + throw new BaseException("作业列表不能为空"); + } + if (StringUtil.isBlank(resrce)){ + throw new BaseException("资源不能为空"); + } sfcDtoList.forEach(sfcDto -> { String site = CommonMethods.getSite(); String operation = sfcDto.getOperation(); Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); - String resrce = sfcDto.getResrce(); String sfc = sfcDto.getSfc(); String stepId = sfcDto.getStepId(); @@ -199,7 +230,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { //是否有自检检验项目 List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); - if (inspectionItemDetails.size()>0&&StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) { + if (inspectionItemDetails.size()>0&&inspectionItemDetails.get(0)!=null) { //是否有自检检验任务 InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_Z, sfc, operation, stepId); if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){ diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java index 5b868a2f..96443454 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/SfcCrossServiceImpl.java @@ -1,15 +1,22 @@ package com.foreverwin.mesnac.production.service.impl; +import com.foreverwin.mesnac.meapi.dto.SfcDto; +import com.foreverwin.mesnac.production.mapper.SfcCrossMapper; import com.foreverwin.mesnac.production.service.SfcCrossService; +import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.meext.MEServices; import com.foreverwin.modular.core.util.CommonMethods; import com.sap.me.plant.ResourceBOHandle; import com.sap.me.production.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; /** * 描述: 工序开始 @@ -19,7 +26,8 @@ import java.math.BigDecimal; @Service @Transactional(rollbackFor = Exception.class) public class SfcCrossServiceImpl implements SfcCrossService { - + @Autowired + private SfcCrossMapper sfcCrossMapper; @Override public void startAction(String site, String operationRef, String resource, String sfcRef, BigDecimal qty) throws Exception { @@ -61,4 +69,20 @@ public class SfcCrossServiceImpl implements SfcCrossService { } sfcCompleteService.completeSfcQuick(paramCompleteSfcRequest); } + + @Override + public List getSfcListByResrce(String site, String resrce) { + String locale = LocaleContextHolder.getLocale().getLanguage(); + return sfcCrossMapper.getSfcListByResrce(site,resrce,locale); + } + + @Override + public void resourceCheck(String resrceBO) { + LocalDateTime now = LocalDateTime.now(); + LocalDateTime dateTime = LocalDateTime.of(now.getYear(), now.getMonth(), now.getDayOfMonth(), 0, 0, 0); + Integer integer = sfcCrossMapper.resourceCheck(resrceBO, dateTime); + if (integer<1){ + throw new BaseException("当前设备点检未完成"); + } + } } diff --git a/production/src/main/resources/mapper/LoadInventoryLogMapper.xml b/production/src/main/resources/mapper/LoadInventoryLogMapper.xml new file mode 100644 index 00000000..d7babec5 --- /dev/null +++ b/production/src/main/resources/mapper/LoadInventoryLogMapper.xml @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, INVENTORY_ID, RESRCE, ITEM, ACTION_CODE, QTY_ON_HAND, LOAD_QTY, CREATE_USER, CREATED_DATE_TIME + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_LOAD_INVENTORY_LOG + + HANDLE, + SITE, + INVENTORY_ID, + RESRCE, + ITEM, + ACTION_CODE, + QTY_ON_HAND, + LOAD_QTY, + CREATE_USER, + CREATED_DATE_TIME, + VALUES + + #{handle}, + #{site}, + #{inventoryId}, + #{resrce}, + #{item}, + #{actionCode}, + #{qtyOnHand}, + #{loadQty}, + #{createUser}, + #{createdDateTime}, + + + + + INSERT INTO Z_LOAD_INVENTORY_LOG + + + VALUES + + #{handle}, + #{site}, + #{inventoryId}, + #{resrce}, + #{item}, + #{actionCode}, + #{qtyOnHand}, + #{loadQty}, + #{createUser}, + #{createdDateTime}, + + + + + + UPDATE Z_LOAD_INVENTORY_LOG + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + RESRCE=#{et.resrce}, + ITEM=#{et.item}, + ACTION_CODE=#{et.actionCode}, + QTY_ON_HAND=#{et.qtyOnHand}, + LOAD_QTY=#{et.loadQty}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_LOAD_INVENTORY_LOG + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + RESRCE=#{et.resrce}, + ITEM=#{et.item}, + ACTION_CODE=#{et.actionCode}, + QTY_ON_HAND=#{et.qtyOnHand}, + LOAD_QTY=#{et.loadQty}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_LOAD_INVENTORY_LOG + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + RESRCE=#{et.resrce}, + ITEM=#{et.item}, + ACTION_CODE=#{et.actionCode}, + QTY_ON_HAND=#{et.qtyOnHand}, + LOAD_QTY=#{et.loadQty}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND INVENTORY_ID=#{ew.entity.inventoryId} + AND RESRCE=#{ew.entity.resrce} + AND ITEM=#{ew.entity.item} + AND ACTION_CODE=#{ew.entity.actionCode} + AND QTY_ON_HAND=#{ew.entity.qtyOnHand} + AND LOAD_QTY=#{ew.entity.loadQty} + AND CREATE_USER=#{ew.entity.createUser} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_LOAD_INVENTORY_LOG WHERE HANDLE=#{handle} + + + + DELETE FROM Z_LOAD_INVENTORY_LOG + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_LOAD_INVENTORY_LOG + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND INVENTORY_ID=#{ew.entity.inventoryId} + AND RESRCE=#{ew.entity.resrce} + AND ITEM=#{ew.entity.item} + AND ACTION_CODE=#{ew.entity.actionCode} + AND QTY_ON_HAND=#{ew.entity.qtyOnHand} + AND LOAD_QTY=#{ew.entity.loadQty} + AND CREATE_USER=#{ew.entity.createUser} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_LOAD_INVENTORY_LOG WHERE HANDLE IN ( + #{item} + ) + + + + diff --git a/production/src/main/resources/mapper/LoadInventoryMapper.xml b/production/src/main/resources/mapper/LoadInventoryMapper.xml new file mode 100644 index 00000000..c003fac3 --- /dev/null +++ b/production/src/main/resources/mapper/LoadInventoryMapper.xml @@ -0,0 +1,420 @@ + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, INVENTORY_ID, RESRCE, ITEM, QTY_ON_HAND, LOAD_QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_LOAD_INVENTORY + + HANDLE, + SITE, + INVENTORY_ID, + RESRCE, + ITEM, + QTY_ON_HAND, + LOAD_QTY, + CREATE_USER, + CREATED_DATE_TIME, + MODIFY_USER, + MODIFIED_DATE_TIME, + VALUES + + #{handle}, + #{site}, + #{inventoryId}, + #{resrce}, + #{item}, + #{qtyOnHand}, + #{loadQty}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + + + + + INSERT INTO Z_LOAD_INVENTORY + + + VALUES + + #{handle}, + #{site}, + #{inventoryId}, + #{resrce}, + #{item}, + #{qtyOnHand}, + #{loadQty}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + + + + + + UPDATE Z_LOAD_INVENTORY + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + RESRCE=#{et.resrce}, + ITEM=#{et.item}, + QTY_ON_HAND=#{et.qtyOnHand}, + LOAD_QTY=#{et.loadQty}, + 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_LOAD_INVENTORY + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + RESRCE=#{et.resrce}, + ITEM=#{et.item}, + QTY_ON_HAND=#{et.qtyOnHand}, + LOAD_QTY=#{et.loadQty}, + 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_LOAD_INVENTORY + SITE=#{et.site}, + INVENTORY_ID=#{et.inventoryId}, + RESRCE=#{et.resrce}, + ITEM=#{et.item}, + QTY_ON_HAND=#{et.qtyOnHand}, + LOAD_QTY=#{et.loadQty}, + 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 INVENTORY_ID=#{ew.entity.inventoryId} + AND RESRCE=#{ew.entity.resrce} + AND ITEM=#{ew.entity.item} + AND QTY_ON_HAND=#{ew.entity.qtyOnHand} + AND LOAD_QTY=#{ew.entity.loadQty} + 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_LOAD_INVENTORY WHERE HANDLE=#{handle} + + + + DELETE FROM Z_LOAD_INVENTORY + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_LOAD_INVENTORY + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND INVENTORY_ID=#{ew.entity.inventoryId} + AND RESRCE=#{ew.entity.resrce} + AND ITEM=#{ew.entity.item} + AND QTY_ON_HAND=#{ew.entity.qtyOnHand} + AND LOAD_QTY=#{ew.entity.loadQty} + 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_LOAD_INVENTORY WHERE HANDLE IN ( + #{item} + ) + + + + diff --git a/production/src/main/resources/mapper/SfcCrossMapper.xml b/production/src/main/resources/mapper/SfcCrossMapper.xml index d90b0ea9..496f31d7 100644 --- a/production/src/main/resources/mapper/SfcCrossMapper.xml +++ b/production/src/main/resources/mapper/SfcCrossMapper.xml @@ -77,51 +77,6 @@ AND CF.VALUE = #{status} - - - - - - - + + + +