diff --git a/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java b/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java index a8084f9e..d614969d 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java @@ -8,5 +8,11 @@ package com.foreverwin.mesnac.common.constant; */ public interface Constants { + String STATUS_NEW = "NEW"; + String BOOL_TRUE = "true"; + String BOOL_FALSE = "false"; + + String STATUS_Y = "Y"; + String STATUS_N = "N"; } diff --git a/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java b/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java index 45d6b1df..68fd11c4 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/enums/HandleEnum.java @@ -50,6 +50,12 @@ public enum HandleEnum { /**工序*/ OPERATION( "OperationBO:", "OperationBO:{0},{1},{2}" ), + /**工作中心**/ + WORK_CENTER("WorkCenterBO:", "WorkCenterBO:{0},{1}"), + + /****/ + SFC_DISPATCH("SfcDispatchBO:", "SfcDispatchBO:{0},{1}"), + /**编码规则*/ NEXT_NUMBER_CODE("NextNumberCodeBO:","NextNumberCodeBO:{0},{1},{2}"); diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java new file mode 100644 index 00000000..4e65163d --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/SfcDispatchController.java @@ -0,0 +1,152 @@ +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.SfcDispatchService; +import com.foreverwin.mesnac.dispatch.model.SfcDispatch; +import java.util.List; + +/** + * + * @author Leon.L + * @since 2021-06-02 + */ +@RestController +@RequestMapping("/Z-SFC-DISPATCH") +public class SfcDispatchController { + + @Autowired + public SfcDispatchService sfcDispatchService; + + + @ResponseBody + @PostMapping("querySfcDispatch") + public R querySfcDispatch(@RequestBody SfcDispatch sfcDispatch) { + List list = null; + try { + + sfcDispatch.setSite(CommonMethods.getSite()); + + list = sfcDispatchService.selectList(sfcDispatch); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + + return R.ok(list); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getSfcDispatchList(SfcDispatch sfcDispatch){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfcDispatch); + result = sfcDispatchService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, SfcDispatch sfcDispatch){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfcDispatch); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(SfcDispatch::getHandle, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getSite, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getShopOrder, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getWorkOrder, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getSfc, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getIsMajor, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getDispatchSeq, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getDispatchNo, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getDispatchStatus, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getDrawingsNo, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getDrawingsRevision, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getIsLock, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getRouterBo, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getStepId, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getOperation, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getResourceType, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getWorkCenter, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getResrce, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getEmployee, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getTurnOrder, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getIsAllot, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getIsImport, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getRemark, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getCreateUser, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getModifyUser, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getOther1, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getOther2, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getOther3, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getOther4, frontPage.getGlobalQuery()) + .or().like(SfcDispatch::getOther5, frontPage.getGlobalQuery()) + ); + } + result = sfcDispatchService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param sfcDispatch 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody SfcDispatch sfcDispatch) { + return R.ok(sfcDispatchService.save(sfcDispatch)); + } + + /** + * 修改 + * @param sfcDispatch 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody SfcDispatch sfcDispatch) { + return R.ok(sfcDispatchService.updateById(sfcDispatch)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(sfcDispatchService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(sfcDispatchService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java new file mode 100644 index 00000000..45a4a980 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/ShopOrderReleaseController.java @@ -0,0 +1,94 @@ +package com.foreverwin.mesnac.dispatch.controller; + +import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease; +import com.foreverwin.mesnac.dispatch.service.ShopOrderReleaseService; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.R; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * + * ClassName: ShopOrderReleaseController + * + * @author Leon + * + * Copyright (C) 2018-2019 上海昊声电子信息技术有限公司. + * + * All Rights Reserved + * + * http://www.foreverwin.com.cn + * + * Create Time: 2021/06/02 + */ + +@RestController +@RequestMapping("/shopOrderRelease") +public class ShopOrderReleaseController { + + @Autowired + private ShopOrderReleaseService shopOrderReleaseService; + + @ResponseBody + @PostMapping("queryShopOrder") + public R queryShopOrder(@RequestBody ShopOrderRelease shopOrderRelease) { + List list = null; + try { + if (shopOrderRelease == null) { + shopOrderRelease = new ShopOrderRelease(); + } + shopOrderRelease.setSite(CommonMethods.getSite()); + + list = shopOrderReleaseService.findShopOrderList(shopOrderRelease); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + + return R.ok(list); + } + + /** + * 工单整理- 下达 + * + * @param shopOrderList + * @return + */ + @ResponseBody + @PostMapping("shopOrderRelease") + public R shopOrderRelease(@RequestBody List shopOrderList) { + + try { + String site = CommonMethods.getSite(); + String user = CommonMethods.getUser(); + shopOrderReleaseService.shopOrderRelease(site, user, shopOrderList); + } catch (Exception e) { + return R.failed(1, e.getMessage()); + } + + return R.ok(); + } + + + /** + * 工单整理- 刷新派工单 + * + * @param shopOrderList + * @return + */ + @ResponseBody + @PostMapping("dispatchRefresh") + public R dispatchRefresh(@RequestBody List shopOrderList) { + + try { + String site = CommonMethods.getSite(); + String user = CommonMethods.getUser(); + shopOrderReleaseService.dispatchRefresh(site, user, shopOrderList); + } catch (Exception e) { + return R.failed(1, e.getMessage()); + } + + return R.ok(); + } +} diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/dto/RouterDTO.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/dto/RouterDTO.java new file mode 100644 index 00000000..9c1f5a1e --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/dto/RouterDTO.java @@ -0,0 +1,197 @@ +package com.foreverwin.mesnac.dispatch.dto; + +import java.io.Serializable; + +public class RouterDTO implements Serializable { + + /**主键**/ + private String handle; + /**站点**/ + private String site; + /**工艺路线 HANDLE**/ + private String routerBo; + /**工艺路线**/ + private String router; + /**工艺路线版本**/ + private String revision; + /**工艺路线描述**/ + private String description; + /**工艺路线状态**/ + private String statusBo; + /**工艺路线工序步骤**/ + private String stepId; + /**工艺路线工序**/ + private String operation; + /**工艺路线工序**/ + private String operationBo; + /**工艺路线工序描述**/ + private String operationDescription; + /**资源类型**/ + private String resourceType; + /**工艺路线工序步骤自定义字段-派工类型**/ + private String dispatchType; + /**工艺路线工序步骤自定义字段-工序工时**/ + private String prodHours; + /**工艺路线工序步骤自定义字段-标准人数**/ + private String standardNumber; + /**员工类型**/ + private String employeeType; + /**工艺路线工步BO**/ + private String routerStepBo; + /**工艺路线入口工步BO**/ + private String entryRouterStepBo; + /**下一步骤**/ + private String nextStepBo; + + 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 getRouterBo() { + return routerBo; + } + + public void setRouterBo(String routerBo) { + this.routerBo = routerBo; + } + + public String getRouter() { + return router; + } + + public void setRouter(String router) { + this.router = router; + } + + public String getRevision() { + return revision; + } + + public void setRevision(String revision) { + this.revision = revision; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getStatusBo() { + return statusBo; + } + + public void setStatusBo(String statusBo) { + this.statusBo = statusBo; + } + + public String getStepId() { + return stepId; + } + + public void setStepId(String stepId) { + this.stepId = stepId; + } + + public String getOperation() { + return operation; + } + + public void setOperation(String operation) { + this.operation = operation; + } + + public String getOperationBo() { + return operationBo; + } + + public void setOperationBo(String operationBo) { + this.operationBo = operationBo; + } + + public String getOperationDescription() { + return operationDescription; + } + + public void setOperationDescription(String operationDescription) { + this.operationDescription = operationDescription; + } + + public String getResourceType() { + return resourceType; + } + + public void setResourceType(String resourceType) { + this.resourceType = resourceType; + } + + public String getDispatchType() { + return dispatchType; + } + + public void setDispatchType(String dispatchType) { + this.dispatchType = dispatchType; + } + + public String getProdHours() { + return prodHours; + } + + public void setProdHours(String prodHours) { + this.prodHours = prodHours; + } + + public String getStandardNumber() { + return standardNumber; + } + + public void setStandardNumber(String standardNumber) { + this.standardNumber = standardNumber; + } + + public String getEmployeeType() { + return employeeType; + } + + public void setEmployeeType(String employeeType) { + this.employeeType = employeeType; + } + + public String getRouterStepBo() { + return routerStepBo; + } + + public void setRouterStepBo(String routerStepBo) { + this.routerStepBo = routerStepBo; + } + + public String getEntryRouterStepBo() { + return entryRouterStepBo; + } + + public void setEntryRouterStepBo(String entryRouterStepBo) { + this.entryRouterStepBo = entryRouterStepBo; + } + + public String getNextStepBo() { + return nextStepBo; + } + + public void setNextStepBo(String nextStepBo) { + this.nextStepBo = nextStepBo; + } +} 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 new file mode 100644 index 00000000..a6ec0e1c --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/SfcDispatchMapper.java @@ -0,0 +1,22 @@ +package com.foreverwin.mesnac.dispatch.mapper; + +import com.foreverwin.mesnac.dispatch.model.SfcDispatch; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +@Repository +public interface SfcDispatchMapper extends BaseMapper { + + List findSfcDispatch(@Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation, @Param("stepId") String stepId); +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/ShopOrderReleaseMapper.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/ShopOrderReleaseMapper.java new file mode 100644 index 00000000..b802aff1 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/mapper/ShopOrderReleaseMapper.java @@ -0,0 +1,36 @@ +package com.foreverwin.mesnac.dispatch.mapper; + +import com.foreverwin.mesnac.dispatch.dto.RouterDTO; +import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface ShopOrderReleaseMapper { + + /** + * 查询可下达的工单 + * + * @param shopOrderRelease + * @return + */ + List findShopOrderList(ShopOrderRelease shopOrderRelease); + + /** + * 查询工单的工艺路线详细步骤 + * + * @param routerBo + * @return + */ + List selectShopOrderRouter(@Param("routerBo") String routerBo); + + /** + * 查看同时发生组下步骤标识 + * + * @param routerStepBo + * @return + */ + List selectRouterStepGroup(@Param("routerStepBo") String routerStepBo); +} diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java index 41763f3d..2ad287f9 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/SfcDispatch.java @@ -1,22 +1,24 @@ package com.foreverwin.mesnac.dispatch.model; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; +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 java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; /** *

- * 派工任务表 + * *

* - * @author Syngna - * @since 2020-10-22 + * @author Leon.L + * @since 2021-06-02 */ + @TableName("Z_SFC_DISPATCH") public class SfcDispatch extends Model { @@ -25,580 +27,684 @@ public class SfcDispatch extends Model { /** * 主键 */ - @TableId(value = "HANDLE", type = IdType.INPUT) - private String handle; + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; /** * 站点 */ - @TableField("SITE") - private String site; + @TableField("SITE") + private String site; + /** + * 工单编号 + */ + @TableField("SHOP_ORDER") + private String shopOrder; /** - * 工单号 + * 工作令号 */ - @TableField("SHOP_ORDER") - private String shopOrder; + @TableField("WORK_ORDER") + private String workOrder; /** * SFC */ - @TableField("SFC") - private String sfc; + @TableField("SFC") + private String sfc; /** - * 类型 + * 是否主关件 */ - @TableField("CATEGORY") - private String category; + @TableField("IS_MAJOR") + private String isMajor; /** - * 派工单 + * 派工序号 */ - @TableField("DISPATCH_NO") - private String dispatchNo; + @TableField("DISPATCH_SEQ") + private Double dispatchSeq; + /** + * 派工单号 + */ + @TableField("DISPATCH_NO") + private String dispatchNo; /** * 新建/NEW、发布/RELEASE、暂挂/PAUSE、取消/CANCEL、完成/COMPLETE */ - @TableField("DISPATCH_STATUS") - private String dispatchStatus; + @TableField("DISPATCH_STATUS") + private String dispatchStatus; + /** + * 图号 + */ + @TableField("DRAWINGS_NO") + private String drawingsNo; + /** + * 图号版本 + */ + @TableField("DRAWINGS_REVISION") + private String drawingsRevision; /** * 是否锁定 */ - @TableField("IS_LOCK") - private String isLock; + @TableField("IS_LOCK") + private String isLock; /** - * 派工顺序 + * 工艺路线 */ - @TableField("DISPATCH_ORDER") - private Long dispatchOrder; + @TableField("ROUTER_BO") + private String routerBo; /** - * 工序号 + * 步骤标示 */ - @TableField("OPERATION_SEQ") - private String operationSeq; + @TableField("STEP_ID") + private String stepId; /** * 工序 */ - @TableField("OPERATION") - private String operation; + @TableField("OPERATION") + private String operation; /** * 资源类型 */ - @TableField("RESOURCE_TYPE") - private String resourceType; + @TableField("RESOURCE_TYPE") + private String resourceType; /** * 工作中心 */ - @TableField("WORK_CENTER") - private String workCenter; + @TableField("WORK_CENTER") + private String workCenter; /** * 资源 */ - @TableField("RESRCE") - private String resrce; + @TableField("RESRCE") + private String resrce; + /** + * 操作人员 + */ + @TableField("EMPLOYEE") + private String employee; + /** + * 是否已经转序 + */ + @TableField("TURN_ORDER") + private String turnOrder; /** * 派工数量 */ - @TableField("DISPATCH_QTY") - private Double dispatchQty; + @TableField("DISPATCH_QTY") + private Double dispatchQty; /** * 生产工时 */ - @TableField("PROD_HOURS") - private Double prodHours; + @TableField("PROD_HOURS") + private Double prodHours; /** * 计划开始时间 */ - @TableField("PLANNED_START_DATE") - private Date plannedStartDate; + @TableField("PLANNED_START_DATE") + private LocalDateTime plannedStartDate; /** * 计划完成时间 */ - @TableField("PLANNED_COMPLETE_DATE") - private Date plannedCompleteDate; - /** - * 首次发布计划完成时间 - */ - @TableField("RELEASED_COMPLETE_DATE") - private Date releasedCompleteDate; + @TableField("PLANNED_COMPLETE_DATE") + private LocalDateTime plannedCompleteDate; /** * 最早开始时间 */ - @TableField("EARLIEST_START_DATE") - private Date earliestStartDate; + @TableField("EARLIEST_START_DATE") + private LocalDateTime earliestStartDate; /** * 最晚结束时间 */ - @TableField("LATEST_END_DATE") - private Date latestEndDate; + @TableField("LATEST_END_DATE") + private LocalDateTime latestEndDate; /** - * 订单最晚需求时间 + * 工单整理下达时间 */ - @TableField("LATEST_NEED_DATE") - private Date latestNeedDate; + @TableField("SO_RELEASED_DATE") + private LocalDateTime soReleasedDate; /** - * 备注 - */ - @TableField("REMARK") - private String remark; - /** - * 创建人 + * SFC派工发布时间 */ - @TableField("CREATE_USER") - private String createUser; + @TableField("SFC_RELEASED_DATE") + private LocalDateTime sfcReleasedDate; /** - * 创建时间 + * 首次发布计划完成时间 */ - @TableField("CREATED_DATE_TIME") - private Date createdDateTime; + @TableField("RELEASED_COMPLETE_DATE") + private LocalDateTime releasedCompleteDate; /** - * 修改人 + * 实际完成时间 */ - @TableField("MODIFY_USER") - private String modifyUser; + @TableField("ACTUAL_COMPLETE_DATE") + private LocalDateTime actualCompleteDate; /** - * 修改时间 + * 是否已经分配资源 */ - @TableField("MODIFIED_DATE_TIME") - private Date modifiedDateTime; - @TableField("ROUTER_BO") - private String routerBo; - @TableField("FIRST_OPERATION_COMPLETE_DATE") - private Date firstOperationCompleteDate; - @TableField("RELEASED_START_DATE") - private Date releasedStartDate; + @TableField("IS_ALLOT") + private String isAllot; /** - * 工序描述 + * 是否导入 */ - @TableField("OPERATION_DESC") - private String operationDesc; + @TableField("IS_IMPORT") + private String isImport; /** - * 首步骤 + * 备注 */ - @TableField("FIRST_STEP") - private String firstStep; + @TableField("REMARK") + private String remark; + /** + * 备注 + */ + @TableField("IS_FIRST_OPERATION") + private String isFirstOperation; /** - * 首工序 + * 创建人 */ - @TableField("FIRST_OPERATION") - private String firstOperation; + @TableField("CREATE_USER") + private String createUser; /** - * 人员类型 + * 创建时间 */ - @TableField("EMPLOYEE_TYPE") - private String employeeType; + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; /** - * 加工人数 + * 修改人 */ - @TableField("EMPLOYEE_QTY") - private Long employeeQty; + @TableField("MODIFY_USER") + private String modifyUser; /** - * 是否修改 + * 修改时间 */ - @TableField("MODIFIED") - private String modified; + @TableField("MODIFIED_DATE_TIME") + private LocalDateTime modifiedDateTime; + @TableField("OTHER_1") + private String other1; + @TableField("OTHER_2") + private String other2; + @TableField("OTHER_3") + private String other3; + @TableField("OTHER_4") + private String other4; + @TableField("OTHER_5") + private String other5; + + + 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 getShopOrder() { + return shopOrder; + } + + public void setShopOrder(String shopOrder) { + this.shopOrder = shopOrder; + } + + public String getWorkOrder() { + return workOrder; + } + + public void setWorkOrder(String workOrder) { + this.workOrder = workOrder; + } + + public String getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + + public String getIsMajor() { + return isMajor; + } + + public void setIsMajor(String isMajor) { + this.isMajor = isMajor; + } + + public Double getDispatchSeq() { + return dispatchSeq; + } + + public void setDispatchSeq(Double dispatchSeq) { + this.dispatchSeq = dispatchSeq; + } + + public String getDispatchNo() { + return dispatchNo; + } + + public void setDispatchNo(String dispatchNo) { + this.dispatchNo = dispatchNo; + } + + public String getDispatchStatus() { + return dispatchStatus; + } + + public void setDispatchStatus(String dispatchStatus) { + this.dispatchStatus = dispatchStatus; + } + + public String getDrawingsNo() { + return drawingsNo; + } + public void setDrawingsNo(String drawingsNo) { + this.drawingsNo = drawingsNo; + } - public String getHandle() { - return handle; - } + public String getDrawingsRevision() { + return drawingsRevision; + } - public void setHandle(String handle) { - this.handle = handle; - } + public void setDrawingsRevision(String drawingsRevision) { + this.drawingsRevision = drawingsRevision; + } + + public String getIsLock() { + return isLock; + } - public String getSite() { - return site; - } + public void setIsLock(String isLock) { + this.isLock = isLock; + } - public void setSite(String site) { - this.site = site; - } + public String getRouterBo() { + return routerBo; + } - public String getShopOrder() { - return shopOrder; - } + public void setRouterBo(String routerBo) { + this.routerBo = routerBo; + } - public void setShopOrder(String shopOrder) { - this.shopOrder = shopOrder; - } + public String getStepId() { + return stepId; + } - public String getSfc() { - return sfc; - } + public void setStepId(String stepId) { + this.stepId = stepId; + } - public void setSfc(String sfc) { - this.sfc = sfc; - } + public String getOperation() { + return operation; + } - public String getCategory() { - return category; - } + public void setOperation(String operation) { + this.operation = operation; + } - public void setCategory(String category) { - this.category = category; - } + public String getResourceType() { + return resourceType; + } - public String getDispatchNo() { - return dispatchNo; - } + public void setResourceType(String resourceType) { + this.resourceType = resourceType; + } - public void setDispatchNo(String dispatchNo) { - this.dispatchNo = dispatchNo; - } + public String getWorkCenter() { + return workCenter; + } - public String getDispatchStatus() { - return dispatchStatus; - } + public void setWorkCenter(String workCenter) { + this.workCenter = workCenter; + } - public void setDispatchStatus(String dispatchStatus) { - this.dispatchStatus = dispatchStatus; - } + public String getResrce() { + return resrce; + } - public String getIsLock() { - return isLock; - } + public void setResrce(String resrce) { + this.resrce = resrce; + } - public void setIsLock(String isLock) { - this.isLock = isLock; - } + public String getEmployee() { + return employee; + } - public Long getDispatchOrder() { - return dispatchOrder; - } + public void setEmployee(String employee) { + this.employee = employee; + } - public void setDispatchOrder(Long dispatchOrder) { - this.dispatchOrder = dispatchOrder; - } + public String getTurnOrder() { + return turnOrder; + } - public String getOperationSeq() { - return operationSeq; - } + public void setTurnOrder(String turnOrder) { + this.turnOrder = turnOrder; + } - public void setOperationSeq(String operationSeq) { - this.operationSeq = operationSeq; - } + public Double getDispatchQty() { + return dispatchQty; + } - public String getOperation() { - return operation; - } + public void setDispatchQty(Double dispatchQty) { + this.dispatchQty = dispatchQty; + } - public void setOperation(String operation) { - this.operation = operation; - } + public Double getProdHours() { + return prodHours; + } - public String getResourceType() { - return resourceType; - } + public void setProdHours(Double prodHours) { + this.prodHours = prodHours; + } - public void setResourceType(String resourceType) { - this.resourceType = resourceType; - } + public LocalDateTime getPlannedStartDate() { + return plannedStartDate; + } - public String getWorkCenter() { - return workCenter; - } + public void setPlannedStartDate(LocalDateTime plannedStartDate) { + this.plannedStartDate = plannedStartDate; + } - public void setWorkCenter(String workCenter) { - this.workCenter = workCenter; - } + public LocalDateTime getPlannedCompleteDate() { + return plannedCompleteDate; + } - public String getResrce() { - return resrce; - } + public void setPlannedCompleteDate(LocalDateTime plannedCompleteDate) { + this.plannedCompleteDate = plannedCompleteDate; + } - public void setResrce(String resrce) { - this.resrce = resrce; - } + public LocalDateTime getEarliestStartDate() { + return earliestStartDate; + } - public Double getDispatchQty() { - return dispatchQty; - } + public void setEarliestStartDate(LocalDateTime earliestStartDate) { + this.earliestStartDate = earliestStartDate; + } - public void setDispatchQty(Double dispatchQty) { - this.dispatchQty = dispatchQty; - } + public LocalDateTime getLatestEndDate() { + return latestEndDate; + } - public Double getProdHours() { - return prodHours; - } + public void setLatestEndDate(LocalDateTime latestEndDate) { + this.latestEndDate = latestEndDate; + } - public void setProdHours(Double prodHours) { - this.prodHours = prodHours; - } + public LocalDateTime getSoReleasedDate() { + return soReleasedDate; + } - public Date getPlannedStartDate() { - return plannedStartDate; - } + public void setSoReleasedDate(LocalDateTime soReleasedDate) { + this.soReleasedDate = soReleasedDate; + } - public void setPlannedStartDate(Date plannedStartDate) { - this.plannedStartDate = plannedStartDate; - } + public LocalDateTime getSfcReleasedDate() { + return sfcReleasedDate; + } - public Date getPlannedCompleteDate() { - return plannedCompleteDate; - } + public void setSfcReleasedDate(LocalDateTime sfcReleasedDate) { + this.sfcReleasedDate = sfcReleasedDate; + } - public void setPlannedCompleteDate(Date plannedCompleteDate) { - this.plannedCompleteDate = plannedCompleteDate; - } + public LocalDateTime getReleasedCompleteDate() { + return releasedCompleteDate; + } - public Date getReleasedCompleteDate() { - return releasedCompleteDate; - } + public void setReleasedCompleteDate(LocalDateTime releasedCompleteDate) { + this.releasedCompleteDate = releasedCompleteDate; + } - public void setReleasedCompleteDate(Date releasedCompleteDate) { - this.releasedCompleteDate = releasedCompleteDate; - } + public LocalDateTime getActualCompleteDate() { + return actualCompleteDate; + } - public Date getEarliestStartDate() { - return earliestStartDate; - } + public void setActualCompleteDate(LocalDateTime actualCompleteDate) { + this.actualCompleteDate = actualCompleteDate; + } - public void setEarliestStartDate(Date earliestStartDate) { - this.earliestStartDate = earliestStartDate; - } + public String getIsAllot() { + return isAllot; + } - public Date getLatestEndDate() { - return latestEndDate; - } + public void setIsAllot(String isAllot) { + this.isAllot = isAllot; + } - public void setLatestEndDate(Date latestEndDate) { - this.latestEndDate = latestEndDate; - } + public String getIsImport() { + return isImport; + } - public Date getLatestNeedDate() { - return latestNeedDate; - } + public void setIsImport(String isImport) { + this.isImport = isImport; + } - public void setLatestNeedDate(Date latestNeedDate) { - this.latestNeedDate = latestNeedDate; - } + public String getRemark() { + return remark; + } - public String getRemark() { - return remark; - } + public void setRemark(String remark) { + this.remark = remark; + } - public void setRemark(String remark) { - this.remark = remark; - } + public String getIsFirstOperation() { + return isFirstOperation; + } - public String getCreateUser() { - return createUser; - } + public void setIsFirstOperation(String isFirstOperation) { + this.isFirstOperation = isFirstOperation; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getCreateUser() { + return createUser; + } - public Date getCreatedDateTime() { - return createdDateTime; - } + public void setCreateUser(String createUser) { + this.createUser = createUser; + } - public void setCreatedDateTime(Date createdDateTime) { - this.createdDateTime = createdDateTime; - } + public LocalDateTime getCreatedDateTime() { + return createdDateTime; + } - public String getModifyUser() { - return modifyUser; - } + public void setCreatedDateTime(LocalDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + } - public void setModifyUser(String modifyUser) { - this.modifyUser = modifyUser; - } + public String getModifyUser() { + return modifyUser; + } - public Date getModifiedDateTime() { - return modifiedDateTime; - } + public void setModifyUser(String modifyUser) { + this.modifyUser = modifyUser; + } - public void setModifiedDateTime(Date modifiedDateTime) { - this.modifiedDateTime = modifiedDateTime; - } + public LocalDateTime getModifiedDateTime() { + return modifiedDateTime; + } - public String getRouterBo() { - return routerBo; - } + public void setModifiedDateTime(LocalDateTime modifiedDateTime) { + this.modifiedDateTime = modifiedDateTime; + } - public void setRouterBo(String routerBo) { - this.routerBo = routerBo; - } + public String getOther1() { + return other1; + } - public Date getFirstOperationCompleteDate() { - return firstOperationCompleteDate; - } + public void setOther1(String other1) { + this.other1 = other1; + } - public void setFirstOperationCompleteDate(Date firstOperationCompleteDate) { - this.firstOperationCompleteDate = firstOperationCompleteDate; - } + public String getOther2() { + return other2; + } - public Date getReleasedStartDate() { - return releasedStartDate; - } + public void setOther2(String other2) { + this.other2 = other2; + } - public void setReleasedStartDate(Date releasedStartDate) { - this.releasedStartDate = releasedStartDate; - } + public String getOther3() { + return other3; + } - public String getOperationDesc() { - return operationDesc; - } + public void setOther3(String other3) { + this.other3 = other3; + } - public void setOperationDesc(String operationDesc) { - this.operationDesc = operationDesc; - } + public String getOther4() { + return other4; + } - public String getFirstStep() { - return firstStep; - } + public void setOther4(String other4) { + this.other4 = other4; + } - public void setFirstStep(String firstStep) { - this.firstStep = firstStep; - } + public String getOther5() { + return other5; + } - public String getFirstOperation() { - return firstOperation; - } + public void setOther5(String other5) { + this.other5 = other5; + } - public void setFirstOperation(String firstOperation) { - this.firstOperation = firstOperation; - } +public static final String HANDLE = "HANDLE"; - public String getEmployeeType() { - return employeeType; - } +public static final String SITE = "SITE"; - public void setEmployeeType(String employeeType) { - this.employeeType = employeeType; - } +public static final String SHOP_ORDER = "SHOP_ORDER"; - public Long getEmployeeQty() { - return employeeQty; - } +public static final String WORK_ORDER = "WORK_ORDER"; - public void setEmployeeQty(Long employeeQty) { - this.employeeQty = employeeQty; - } +public static final String SFC = "SFC"; - public String getModified() { - return modified; - } +public static final String IS_MAJOR = "IS_MAJOR"; - public void setModified(String modified) { - this.modified = modified; - } +public static final String DISPATCH_SEQ = "DISPATCH_SEQ"; - public static final String HANDLE = "HANDLE"; +public static final String DISPATCH_NO = "DISPATCH_NO"; - public static final String SITE = "SITE"; +public static final String DISPATCH_STATUS = "DISPATCH_STATUS"; - public static final String SHOP_ORDER = "SHOP_ORDER"; +public static final String DRAWINGS_NO = "DRAWINGS_NO"; - public static final String SFC = "SFC"; +public static final String DRAWINGS_REVISION = "DRAWINGS_REVISION"; - public static final String CATEGORY = "CATEGORY"; +public static final String IS_LOCK = "IS_LOCK"; - public static final String DISPATCH_NO = "DISPATCH_NO"; +public static final String ROUTER_BO = "ROUTER_BO"; - public static final String DISPATCH_STATUS = "DISPATCH_STATUS"; +public static final String STEP_ID = "STEP_ID"; - public static final String IS_LOCK = "IS_LOCK"; +public static final String OPERATION = "OPERATION"; - public static final String DISPATCH_ORDER = "DISPATCH_ORDER"; +public static final String RESOURCE_TYPE = "RESOURCE_TYPE"; - public static final String OPERATION_SEQ = "OPERATION_SEQ"; +public static final String WORK_CENTER = "WORK_CENTER"; - public static final String OPERATION = "OPERATION"; +public static final String RESRCE = "RESRCE"; - public static final String RESOURCE_TYPE = "RESOURCE_TYPE"; +public static final String EMPLOYEE = "EMPLOYEE"; - public static final String WORK_CENTER = "WORK_CENTER"; +public static final String TURN_ORDER = "TURN_ORDER"; - public static final String RESRCE = "RESRCE"; +public static final String DISPATCH_QTY = "DISPATCH_QTY"; - public static final String DISPATCH_QTY = "DISPATCH_QTY"; +public static final String PROD_HOURS = "PROD_HOURS"; - public static final String PROD_HOURS = "PROD_HOURS"; +public static final String PLANNED_START_DATE = "PLANNED_START_DATE"; - public static final String PLANNED_START_DATE = "PLANNED_START_DATE"; +public static final String PLANNED_COMPLETE_DATE = "PLANNED_COMPLETE_DATE"; - public static final String PLANNED_COMPLETE_DATE = "PLANNED_COMPLETE_DATE"; +public static final String EARLIEST_START_DATE = "EARLIEST_START_DATE"; - public static final String RELEASED_COMPLETE_DATE = "RELEASED_COMPLETE_DATE"; +public static final String LATEST_END_DATE = "LATEST_END_DATE"; - public static final String EARLIEST_START_DATE = "EARLIEST_START_DATE"; +public static final String SO_RELEASED_DATE = "SO_RELEASED_DATE"; - public static final String LATEST_END_DATE = "LATEST_END_DATE"; +public static final String SFC_RELEASED_DATE = "SFC_RELEASED_DATE"; - public static final String LATEST_NEED_DATE = "LATEST_NEED_DATE"; +public static final String RELEASED_COMPLETE_DATE = "RELEASED_COMPLETE_DATE"; - public static final String REMARK = "REMARK"; +public static final String ACTUAL_COMPLETE_DATE = "ACTUAL_COMPLETE_DATE"; - public static final String CREATE_USER = "CREATE_USER"; +public static final String IS_ALLOT = "IS_ALLOT"; - public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; +public static final String IS_IMPORT = "IS_IMPORT"; - public static final String MODIFY_USER = "MODIFY_USER"; +public static final String REMARK = "REMARK"; - public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; +public static final String CREATE_USER = "CREATE_USER"; - public static final String ROUTER_BO = "ROUTER_BO"; +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; - public static final String FIRST_OPERATION_COMPLETE_DATE = "FIRST_OPERATION_COMPLETE_DATE"; +public static final String MODIFY_USER = "MODIFY_USER"; - public static final String RELEASED_START_DATE = "RELEASED_START_DATE"; +public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; - public static final String OPERATION_DESC = "OPERATION_DESC"; +public static final String OTHER_1 = "OTHER_1"; - public static final String FIRST_STEP = "FIRST_STEP"; +public static final String OTHER_2 = "OTHER_2"; - public static final String FIRST_OPERATION = "FIRST_OPERATION"; +public static final String OTHER_3 = "OTHER_3"; - public static final String EMPLOYEE_TYPE = "EMPLOYEE_TYPE"; +public static final String OTHER_4 = "OTHER_4"; - public static final String EMPLOYEE_QTY = "EMPLOYEE_QTY"; +public static final String OTHER_5 = "OTHER_5"; - public static final String MODIFIED = "MODIFIED"; - @Override - protected Serializable pkVal() { - return this.handle; - } + @Override + protected Serializable pkVal() { + return this.handle; + } - @Override - public String toString() { - return "SfcDispatch{" + - "handle = " + handle + - ", site = " + site + - ", shopOrder = " + shopOrder + - ", sfc = " + sfc + - ", category = " + category + - ", dispatchNo = " + dispatchNo + - ", dispatchStatus = " + dispatchStatus + - ", isLock = " + isLock + - ", dispatchOrder = " + dispatchOrder + - ", operationSeq = " + operationSeq + - ", operation = " + operation + - ", resourceType = " + resourceType + - ", workCenter = " + workCenter + - ", resrce = " + resrce + - ", dispatchQty = " + dispatchQty + - ", prodHours = " + prodHours + - ", plannedStartDate = " + plannedStartDate + - ", plannedCompleteDate = " + plannedCompleteDate + - ", releasedCompleteDate = " + releasedCompleteDate + - ", earliestStartDate = " + earliestStartDate + - ", latestEndDate = " + latestEndDate + - ", latestNeedDate = " + latestNeedDate + - ", remark = " + remark + - ", createUser = " + createUser + - ", createdDateTime = " + createdDateTime + - ", modifyUser = " + modifyUser + - ", modifiedDateTime = " + modifiedDateTime + - ", routerBo = " + routerBo + - ", firstOperationCompleteDate = " + firstOperationCompleteDate + - ", releasedStartDate = " + releasedStartDate + - ", operationDesc = " + operationDesc + - ", firstStep = " + firstStep + - ", firstOperation = " + firstOperation + - ", employeeType = " + employeeType + - ", employeeQty = " + employeeQty + - ", modified = " + modified + - "}"; - } + @Override + public String toString() { + return "SfcDispatch{" + + "handle = " + handle + + ", site = " + site + + ", shopOrder = " + shopOrder + + ", workOrder = " + workOrder + + ", sfc = " + sfc + + ", isMajor = " + isMajor + + ", dispatchSeq = " + dispatchSeq + + ", dispatchNo = " + dispatchNo + + ", dispatchStatus = " + dispatchStatus + + ", drawingsNo = " + drawingsNo + + ", drawingsRevision = " + drawingsRevision + + ", isLock = " + isLock + + ", routerBo = " + routerBo + + ", stepId = " + stepId + + ", operation = " + operation + + ", resourceType = " + resourceType + + ", workCenter = " + workCenter + + ", resrce = " + resrce + + ", employee = " + employee + + ", turnOrder = " + turnOrder + + ", dispatchQty = " + dispatchQty + + ", prodHours = " + prodHours + + ", plannedStartDate = " + plannedStartDate + + ", plannedCompleteDate = " + plannedCompleteDate + + ", earliestStartDate = " + earliestStartDate + + ", latestEndDate = " + latestEndDate + + ", soReleasedDate = " + soReleasedDate + + ", sfcReleasedDate = " + sfcReleasedDate + + ", releasedCompleteDate = " + releasedCompleteDate + + ", actualCompleteDate = " + actualCompleteDate + + ", isAllot = " + isAllot + + ", isImport = " + isImport + + ", remark = " + remark + + ", createUser = " + createUser + + ", createdDateTime = " + createdDateTime + + ", modifyUser = " + modifyUser + + ", modifiedDateTime = " + modifiedDateTime + + ", other1 = " + other1 + + ", other2 = " + other2 + + ", other3 = " + other3 + + ", other4 = " + other4 + + ", other5 = " + other5 + + "}"; + } } \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/ShopOrderRelease.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/ShopOrderRelease.java index f8371da1..47705bc9 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/ShopOrderRelease.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/model/ShopOrderRelease.java @@ -1,8 +1,9 @@ package com.foreverwin.mesnac.dispatch.model; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; -import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; /** @@ -17,31 +18,25 @@ import java.util.Date; * * http://www.foreverwin.com.cn * - * Create Time: 2020/09/07 + * Create Time: 2021/06/02 */ -public class ShopOrderRelease implements Serializable { +public class ShopOrderRelease extends SfcDispatch { - private String handle; - private String site; private String locale; private String shopOrderBo; - private String shopOrder; - private String resourceType; - private String workCenter; private String item; private String itemDescription; private String qtyToBuild; - private String wbs; - private String itemNumber; private String category; - private String productModel; private String status; private String comments; - private Date plannedStartDate; - private Date plannedCompDate; - private Date dispatchCompleteDate; + private LocalDateTime plannedStartDate; + private LocalDateTime plannedCompDate; + private LocalDateTime dispatchCompleteDate; + + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") private Date startFromDate; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @@ -51,22 +46,6 @@ public class ShopOrderRelease implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") private Date completeToDate; - 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 getLocale() { return locale; } @@ -83,30 +62,6 @@ public class ShopOrderRelease implements Serializable { this.shopOrderBo = shopOrderBo; } - public String getShopOrder() { - return shopOrder; - } - - public void setShopOrder(String shopOrder) { - this.shopOrder = shopOrder; - } - - public String getResourceType() { - return resourceType; - } - - public void setResourceType(String resourceType) { - this.resourceType = resourceType; - } - - public String getWorkCenter() { - return workCenter; - } - - public void setWorkCenter(String workCenter) { - this.workCenter = workCenter; - } - public String getItem() { return item; } @@ -131,22 +86,6 @@ public class ShopOrderRelease implements Serializable { this.qtyToBuild = qtyToBuild; } - public String getWbs() { - return wbs; - } - - public void setWbs(String wbs) { - this.wbs = wbs; - } - - public String getItemNumber() { - return itemNumber; - } - - public void setItemNumber(String itemNumber) { - this.itemNumber = itemNumber; - } - public String getCategory() { return category; } @@ -155,14 +94,6 @@ public class ShopOrderRelease implements Serializable { this.category = category; } - public String getProductModel() { - return productModel; - } - - public void setProductModel(String productModel) { - this.productModel = productModel; - } - public String getStatus() { return status; } @@ -179,27 +110,29 @@ public class ShopOrderRelease implements Serializable { this.comments = comments; } - public Date getPlannedStartDate() { + @Override + public LocalDateTime getPlannedStartDate() { return plannedStartDate; } - public void setPlannedStartDate(Date plannedStartDate) { + @Override + public void setPlannedStartDate(LocalDateTime plannedStartDate) { this.plannedStartDate = plannedStartDate; } - public Date getPlannedCompDate() { + public LocalDateTime getPlannedCompDate() { return plannedCompDate; } - public void setPlannedCompDate(Date plannedCompDate) { + public void setPlannedCompDate(LocalDateTime plannedCompDate) { this.plannedCompDate = plannedCompDate; } - public Date getDispatchCompleteDate() { + public LocalDateTime getDispatchCompleteDate() { return dispatchCompleteDate; } - public void setDispatchCompleteDate(Date dispatchCompleteDate) { + public void setDispatchCompleteDate(LocalDateTime dispatchCompleteDate) { this.dispatchCompleteDate = dispatchCompleteDate; } diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java new file mode 100644 index 00000000..57de6579 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/SfcDispatchService.java @@ -0,0 +1,39 @@ +package com.foreverwin.mesnac.dispatch.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.dispatch.model.SfcDispatch; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +public interface SfcDispatchService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, SfcDispatch sfcDispatch); + + List selectList(SfcDispatch sfcDispatch); + + /** + * 查询派工数据 + * + * @param site + * @param sfc + * @param operation 非必须 + * @param stepId 非必须 + * @return + */ + List findSfcDispatch(String site, String sfc, String operation, String stepId); +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java new file mode 100644 index 00000000..a357a6b5 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/ShopOrderReleaseService.java @@ -0,0 +1,50 @@ +package com.foreverwin.mesnac.dispatch.service; + +import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease; + +import java.util.List; + +/** + * + * ClassName: ShopOrderReleaseService + * + * @author Leon + * + * Copyright (C) 2018-2019 上海昊声电子信息技术有限公司. + * + * All Rights Reserved + * + * http://www.foreverwin.com.cn + * + * Create Time: 2021/06/02 + */ + +public interface ShopOrderReleaseService { + + List findShopOrderList(ShopOrderRelease shopOrderRelease); + + /** + * 工单整理- 下达 + * + * 1.工单下达 + * 2.写入派工表数据 + * + * @param site + * @param user + * @param shopOrderList + */ + void shopOrderRelease(String site, String user, List shopOrderList); + + /** + * 工单整理- 刷新派工单 + * + * 1.只允许操作已下达的工单 + * 2.新建状态的派工单重新计算 + * 3.其他状态的派工数据做更新 + * + * @param site + * @param user + * @param shopOrderList + */ + void dispatchRefresh(String site, String user, List shopOrderList); +} diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java new file mode 100644 index 00000000..5a708760 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java @@ -0,0 +1,51 @@ +package com.foreverwin.mesnac.dispatch.service.impl; + +import com.foreverwin.modular.core.util.FrontPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.dispatch.model.SfcDispatch; +import com.foreverwin.mesnac.dispatch.mapper.SfcDispatchMapper; +import com.foreverwin.mesnac.dispatch.service.SfcDispatchService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + *

+ * 服务实现类 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class SfcDispatchServiceImpl extends ServiceImpl implements SfcDispatchService { + + + @Autowired + private SfcDispatchMapper sfcDispatchMapper; + + @Override + public IPage selectPage(FrontPage frontPage, SfcDispatch sfcDispatch) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfcDispatch); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(SfcDispatch sfcDispatch) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfcDispatch); + return super.list(queryWrapper); + } + + @Override + public List findSfcDispatch(String site, String sfc, String operation, String stepId) { + return sfcDispatchMapper.findSfcDispatch(site, sfc, operation, stepId); + } + + +} \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java new file mode 100644 index 00000000..325d8a52 --- /dev/null +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/ShopOrderReleaseServiceImpl.java @@ -0,0 +1,478 @@ +package com.foreverwin.mesnac.dispatch.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.foreverwin.mesnac.common.constant.Constants; +import com.foreverwin.mesnac.common.enums.HandleEnum; +import com.foreverwin.mesnac.common.util.ExceptionUtil; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.dispatch.dto.RouterDTO; +import com.foreverwin.mesnac.dispatch.mapper.ShopOrderReleaseMapper; +import com.foreverwin.mesnac.dispatch.model.SfcDispatch; +import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease; +import com.foreverwin.mesnac.dispatch.service.SfcDispatchService; +import com.foreverwin.mesnac.dispatch.service.ShopOrderReleaseService; +import com.foreverwin.mesnac.meapi.model.Router; +import com.foreverwin.mesnac.meapi.model.Sfc; +import com.foreverwin.mesnac.meapi.model.ShopOrder; +import com.foreverwin.mesnac.meapi.service.CustomFieldsService; +import com.foreverwin.mesnac.meapi.service.RouterService; +import com.foreverwin.mesnac.meapi.service.SfcService; +import com.foreverwin.mesnac.meapi.service.ShopOrderService; +import com.foreverwin.mesnac.meapi.util.StringUtils; +import com.foreverwin.modular.core.exception.BaseException; +import com.foreverwin.modular.core.exception.BusinessException; +import com.foreverwin.modular.core.meext.MEServices; +import com.sap.me.demand.ReleaseShopOrderRequest; +import com.sap.me.demand.ReleaseShopOrderResponse; +import com.sap.me.demand.ReleasedSfc; +import com.sap.me.demand.ShopOrderServiceInterface; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.*; + +/** + * + * ClassName: ShopOrderReleaseServiceImpl + * + * @author Leon + * + * Copyright (C) 2018-2019 上海昊声电子信息技术有限公司. + * + * All Rights Reserved + * + * http://www.foreverwin.com.cn + * + * Create Time: 2021/06/02 + */ + +@Service +@Transactional(rollbackFor = Exception.class) +public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { + + + @Autowired + private SfcService sfcService; + @Autowired + private RouterService routerService; + @Autowired + private ShopOrderService shopOrderService; + @Autowired + private SfcDispatchService sfcDispatchService; + @Autowired + private CustomFieldsService customFieldsService; + @Autowired + private ShopOrderReleaseMapper shopOrderReleaseMapper; + + @Override + public List findShopOrderList(ShopOrderRelease shopOrderRelease) { + return shopOrderReleaseMapper.findShopOrderList(shopOrderRelease); + } + + @Override + public void shopOrderRelease(String site, String user, List shopOrderList) { + if (shopOrderList == null || shopOrderList.size() <= 0) { + throw new BaseException("请至少选择一笔需要下达的工单"); + } + + //工单标准服务 + ShopOrderServiceInterface shopOrderServiceInterface = null; + try { + shopOrderServiceInterface = MEServices.create("com.sap.me.demand", "ShopOrderService", site); + } catch (ClassNotFoundException ex) { + throw BusinessException.build("获取ME标准服务失败"); + } + + for (ShopOrderRelease shopOrderReleaseModel : shopOrderList) { + String workCenter = shopOrderReleaseModel.getWorkCenter(); + + //查询工单信息 + String shopOrder = shopOrderReleaseModel.getShopOrder(); + String shopOrderBo = shopOrderReleaseModel.getShopOrderBo(); + ShopOrder shopOrderModel = shopOrderService.getById(shopOrderBo); + if (shopOrderModel == null) { + throw new BaseException("工单[" + shopOrder + "]不存在"); + } + + String statusBo = shopOrderModel.getStatusBo(); + String routerBo = shopOrderModel.getPlannedRouterBo(); + BigDecimal qtyToBuild = new BigDecimal(shopOrderModel.getQtyToBuild()); + BigDecimal qtyReleased = new BigDecimal(shopOrderModel.getQtyReleased()); + if (!"501".equals(StringUtils.trimHandle(statusBo))) { + throw new BaseException("工单[" +shopOrder+ "]不是可下达状态"); + } + if (qtyReleased.compareTo(qtyToBuild) >= 0) { + throw new BaseException("工单[" +shopOrder+ "]没有可用下达数量"); + } + BigDecimal qtyToRelease = qtyToBuild.subtract(qtyReleased); + + //查询工艺路线 + Router routerModel = routerService.getById(routerBo); + if (routerModel == null) { + throw new BaseException("工艺路线[" +StringUtils.trimHandle(routerBo)+ "]不存在"); + } + + //查询工艺路线详细 + List routerList = shopOrderReleaseMapper.selectShopOrderRouter(routerBo); + if (routerList == null || routerList.size() <= 0) { + throw new BaseException("工艺路线[" +StringUtils.trimHandle(routerBo)+ "]主数据不完整,请确认"); + } + + //工单下达 + ReleaseShopOrderResponse response = null; + try { + ReleaseShopOrderRequest request = new ReleaseShopOrderRequest(); + request.setShopOrderRef(shopOrderBo); + request.setQuantityToRelease(qtyToRelease); + response = shopOrderServiceInterface.releaseShopOrder(request); + } catch (Exception e) { + ExceptionUtil.throwException(e); + } + if (response == null) { + throw new BaseException("工单下达失败:调用标准接口处理异常"); + } + + List sfcList = response.getReleasedSfcList(); + if (sfcList == null || sfcList.size() <= 0) { + throw new BaseException("工单下达失败:获取生产批次清单为空"); + } + + //组装派工数据 + for (int i = 0 ; i < sfcList.size(); i++) { + ReleasedSfc releasedSfc = sfcList.get(i); + + Sfc sfcModel = new Sfc(); + sfcModel.setSfc(releasedSfc.getSfc()); + sfcModel.setQty(releasedSfc.getQuantity().doubleValue()); + sfcDispatch(site, user, workCenter, shopOrderModel, sfcModel, routerList); + }//end for sfcList + + //修改工单的计划工作中心 + if (StringUtils.notBlank(workCenter)) { + ShopOrder updateShopOrder = new ShopOrder(); + updateShopOrder.setHandle(shopOrderBo); + String workCenterBo = HandleEnum.WORK_CENTER.getHandle(site, workCenter); + updateShopOrder.setPlannedWorkCenterBo(workCenterBo); + shopOrderService.updateById(updateShopOrder); + } + } //end for shopOrderList + } + + + //------------------------------------------------------------------------------------------------------------------ + /**派工--按工序**/ + public void sfcDispatch(String site, String user, String workCenter, ShopOrder shopOrderModel, Sfc sfcModel, List routerList) { + LocalDateTime nowDate = LocalDateTime.now(); + + String router = routerList.get(0).getRouter(); + String routerBo = routerList.get(0).getRouterBo(); + String entryRouterStepBo = routerList.get(0).getEntryRouterStepBo(); + //参数二次处理,定义MAP以步骤标识为KEY + Map map = new HashMap<>(); + for (int i = 0; i < routerList.size(); i++) { + RouterDTO routerDTO = routerList.get(i); + map.put(routerDTO.getRouterStepBo(), routerDTO); + } + if (map == null || map.size() <= 0) { + return; + } + if (StringUtils.isBlank(entryRouterStepBo)) { + throw BusinessException.build("工艺路线[" + router +"]没有入口步骤"); + } + + String sfc = sfcModel.getSfc(); + String shopOrder = shopOrderModel.getShopOrder(); + String stepId = ""; + String nextStepBo = ""; + String operation = ""; + String routerStepBo = entryRouterStepBo; + //首工序计划开始时间为工单计划开始时间 + //LocalDateTime plannedStartDate = shopOrderModel.getPlannedStartDate(); + //LocalDateTime plannedCompleteDate = shopOrderModel.getPlannedStartDate(); + + //派工表集合 + List sfcDispatchList = new ArrayList<>(); + //-------------------------------------------------------------------------------------------------------------- + //循环步骤标识记录派工数据 + for (int m = 0 ; m < map.size(); m++) { + RouterDTO routerDTO = map.get(routerStepBo); + if (routerDTO == null) { + break; + } + operation = routerDTO.getOperation(); + if (StringUtil.isBlank(operation)) { + continue; + } + + stepId = routerDTO.getStepId(); + nextStepBo = routerDTO.getNextStepBo(); + if (StringUtils.isBlank(nextStepBo) && m != map.size() -1) { + continue; + } + String isFirstOperation = m == 0 ? "true" : "false"; + + Double prodHours = new Double(this.prodHoursCl(operation, routerDTO.getProdHours())); + //计算完成时间 + //plannedCompleteDate = plannedStartDate.plusMinutes(prodHours.longValue()); + + //派工数据 + String dispatchNo = sfc + "-" + stepId; + SfcDispatch sfcDispatchModel = new SfcDispatch(); + sfcDispatchModel.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)); + sfcDispatchModel.setSite(site); + sfcDispatchModel.setShopOrder(shopOrder); + sfcDispatchModel.setSfc(sfc); + sfcDispatchModel.setWorkOrder(""); + sfcDispatchModel.setIsMajor(""); + sfcDispatchModel.setDispatchSeq(new Double(m+1)); + sfcDispatchModel.setDispatchNo(dispatchNo); + sfcDispatchModel.setDispatchStatus(Constants.STATUS_NEW); + sfcDispatchModel.setDrawingsNo(""); + sfcDispatchModel.setDrawingsRevision(""); + sfcDispatchModel.setIsLock(Constants.STATUS_N); + sfcDispatchModel.setRouterBo(routerBo); + sfcDispatchModel.setStepId(stepId); + sfcDispatchModel.setOperation(operation); + sfcDispatchModel.setResourceType(routerDTO.getResourceType()); + sfcDispatchModel.setWorkCenter(workCenter); + sfcDispatchModel.setDispatchQty(sfcModel.getQty()); + sfcDispatchModel.setProdHours(prodHours); + //sfcDispatchModel.setPlannedStartDate(plannedStartDate); + //sfcDispatchModel.setPlannedCompleteDate(plannedCompleteDate); + sfcDispatchModel.setSoReleasedDate(nowDate); + sfcDispatchModel.setIsAllot(Constants.BOOL_FALSE); + sfcDispatchModel.setIsImport(Constants.BOOL_FALSE); + sfcDispatchModel.setIsFirstOperation(isFirstOperation); + sfcDispatchModel.setCreateUser(user); + sfcDispatchModel.setCreatedDateTime(nowDate); + sfcDispatchModel.setModifyUser(user); + sfcDispatchModel.setModifiedDateTime(nowDate); + sfcDispatchList.add(sfcDispatchModel); + + //计划开始时间累加 + //plannedStartDate = plannedCompleteDate; + + //赋值下一步骤 + routerStepBo = routerDTO.getNextStepBo(); + } + + //批量插入工位&人员派工数据 + sfcDispatchService.saveBatch(sfcDispatchList); + } + + //------------------------------------------------------------------------------------------------------------------ + @Override + public void dispatchRefresh(String site, String user, List shopOrderList) { + if (shopOrderList == null || shopOrderList.size() <= 0) { + throw new BaseException("请至少选择一笔需要下达的工单"); + } + + //-------------------------------------------------------------------------------------------------------------- + for (ShopOrderRelease shopOrderReleaseModel : shopOrderList) { + String shopOrder = shopOrderReleaseModel.getShopOrder(); + + //查询工单信息 + String shopOrderBo = shopOrderReleaseModel.getShopOrderBo(); + ShopOrder shopOrderModel = shopOrderService.getById(shopOrderBo); + if (shopOrderModel == null) { + throw new BaseException("工单[" + shopOrder + "]不存在"); + } + if (shopOrderModel.getQtyReleased() <= 0) { + throw new BaseException("工单[" + shopOrder + "]还未下达, 不允许刷新动作"); + } + + //---------------------------------------------------------------------------------------------------------- + //查询工单下的生产批次清单 + String workCenter = shopOrderReleaseModel.getWorkCenter(); + List sfcList = sfcService.getSfcListByShopOrderBo(shopOrderBo); + if (sfcList == null || sfcList.size() <= 0) { + continue; + } + + for (int i = 0 ; i < sfcList.size(); i++) { + Sfc sfcModel = sfcList.get(i); + + //如果生产批次还没做下达,不处理 + List sfcDispatchList = sfcDispatchService.findSfcDispatch(site, sfcModel.getSfc(), null, null); + if (sfcDispatchList == null || sfcDispatchList.size() <= 0) { + continue; + } + + //校验工艺路线 + Router routerModel = routerService.getRouterBySfcBo(sfcModel.getHandle()); + if (routerModel == null) { + throw new BaseException("生产批次[" +sfcModel.getSfc()+ "]没有找到工艺路线"); + } + + String routerBo = routerModel.getHandle(); + //---------------------------------------------------------------------------------------------------------- + //查询工艺路线详细 + List routerList = shopOrderReleaseMapper.selectShopOrderRouter(routerBo); + if (routerList == null || routerList.size() <= 0) { + throw new BaseException("工艺路线[" +StringUtils.trimHandle(routerBo)+ "]不存在"); + } + sfcDispatchRefresh(site, user, workCenter, shopOrderModel, sfcModel, routerList); + }//end for -- sfcList + + }// end for -- shopOrderList + } + + //------------------------------------------------------------------------------------------------------------------ + + /** + * 离散派工-刷新派工单 + * 1.新建状态的派工单删除 重新建 + * 2.非新建状态的派工单,不做出来 + * + * @param site + * @param user + * @param workCenter + * @param shopOrderModel + * @param sfcModel + * @param routerList + */ + public void sfcDispatchRefresh(String site, String user, String workCenter, ShopOrder shopOrderModel, Sfc sfcModel, List routerList) { + LocalDateTime nowDate = LocalDateTime.now(); + + String router = routerList.get(0).getRouter(); + String routerBo = routerList.get(0).getRouterBo(); + String entryRouterStepBo = routerList.get(0).getEntryRouterStepBo(); + //参数二次处理,定义MAP以步骤标识为KEY + Map map = new HashMap<>(); + for (int i = 0; i < routerList.size(); i++) { + RouterDTO routerDTO = routerList.get(i); + map.put(routerDTO.getRouterStepBo(), routerDTO); + } + if (map == null || map.size() <= 0) { + return; + } + if (StringUtils.isBlank(entryRouterStepBo)) { + throw BusinessException.build("工艺路线[" + router +"]没有入口步骤"); + } + + String sfc = sfcModel.getSfc(); + String shopOrder = shopOrderModel.getShopOrder(); + String stepId = ""; + String nextStepBo = ""; + String operation = ""; + String routerStepBo = entryRouterStepBo; + //首工序计划开始时间为工单计划开始时间 + //LocalDateTime plannedStartDate = shopOrderModel.getPlannedStartDate(); + //LocalDateTime plannedCompleteDate = shopOrderModel.getPlannedStartDate(); + + //派工表集合 + List addSfcDispatchList = new ArrayList<>(); + List updateSfcDispatchList = new ArrayList<>(); + + //先删除所有新建状态的派工单 + QueryWrapper queryWrapper = new QueryWrapper<>(); + SfcDispatch deleteSfcDispatch = new SfcDispatch(); + deleteSfcDispatch.setSite(site); + deleteSfcDispatch.setSfc(sfc); + deleteSfcDispatch.setDispatchStatus(Constants.STATUS_NEW); + queryWrapper.setEntity(deleteSfcDispatch); + sfcDispatchService.remove(queryWrapper); + + //-------------------------------------------------------------------------------------------------------------- + //循环步骤标识记录派工数据 + for (int m = 0 ; m < map.size(); m++) { + RouterDTO routerDTO = map.get(routerStepBo); + if (routerDTO == null) { + break; + } + operation = routerDTO.getOperation(); + if (StringUtil.isBlank(operation)) { + continue; + } + + stepId = routerDTO.getStepId(); + nextStepBo = routerDTO.getNextStepBo(); + if (StringUtils.isBlank(nextStepBo) && m != map.size() -1) { + continue; + } + + Double prodHours = new Double(this.prodHoursCl(operation, routerDTO.getProdHours())); + //计算完成时间 + //plannedCompleteDate = plannedStartDate.plusMinutes(prodHours.longValue()); + + //SFC+Operation+stepID是否已经存在派工数据 + List list = sfcDispatchService.findSfcDispatch(site, sfc, operation, stepId); + if (list == null || list.size() <= 0) { + //工艺路线新增的工序,直接增加派工数据 + String dispatchNo = sfc + "-" + stepId; + SfcDispatch sfcDispatchModel = new SfcDispatch(); + sfcDispatchModel.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)); + sfcDispatchModel.setSite(site); + sfcDispatchModel.setShopOrder(shopOrder); + sfcDispatchModel.setSfc(sfc); + sfcDispatchModel.setWorkOrder(""); + sfcDispatchModel.setIsMajor(""); + sfcDispatchModel.setDispatchSeq(new Double(m + 1)); + sfcDispatchModel.setDispatchNo(dispatchNo); + sfcDispatchModel.setDispatchStatus(Constants.STATUS_NEW); + sfcDispatchModel.setDrawingsNo(""); + sfcDispatchModel.setDrawingsRevision(""); + sfcDispatchModel.setIsLock(Constants.STATUS_N); + sfcDispatchModel.setRouterBo(routerBo); + sfcDispatchModel.setStepId(stepId); + sfcDispatchModel.setOperation(operation); + sfcDispatchModel.setResourceType(routerDTO.getResourceType()); + sfcDispatchModel.setWorkCenter(workCenter); + sfcDispatchModel.setDispatchQty(sfcModel.getQty()); + sfcDispatchModel.setProdHours(prodHours); + //sfcDispatchModel.setPlannedStartDate(plannedStartDate); + //sfcDispatchModel.setPlannedCompleteDate(plannedCompleteDate); + sfcDispatchModel.setSoReleasedDate(nowDate); + sfcDispatchModel.setIsAllot(Constants.BOOL_FALSE); + sfcDispatchModel.setIsImport(Constants.BOOL_FALSE); + sfcDispatchModel.setCreateUser(user); + sfcDispatchModel.setCreatedDateTime(nowDate); + sfcDispatchModel.setModifyUser(user); + sfcDispatchModel.setModifiedDateTime(nowDate); + addSfcDispatchList.add(sfcDispatchModel); + } else { + //已经存在的更新 + SfcDispatch sfcDispatchModel = list.get(0); + sfcDispatchModel.setDispatchSeq(new Double(m + 1)); + sfcDispatchModel.setModifyUser(user); + sfcDispatchModel.setModifiedDateTime(nowDate); + updateSfcDispatchList.add(sfcDispatchModel); + } + + //计划开始时间累加 + //plannedStartDate = plannedCompleteDate; + + //赋值下一步骤 + routerStepBo = routerDTO.getNextStepBo(); + } + + //批量插入派工数据 + if (addSfcDispatchList != null && addSfcDispatchList.size() > 0) { + sfcDispatchService.saveBatch(addSfcDispatchList); + } + + //批量更新派工数据 + if (updateSfcDispatchList != null && updateSfcDispatchList.size() > 0) { + sfcDispatchService.updateBatchById(updateSfcDispatchList); + } + } + + //------------------------------------------------------------------------------------------------------------------ + /**加工工时校验以及处理**/ + public String prodHoursCl(String operation, String prodHours) { + if (StringUtils.isBlank(prodHours)) { + throw BusinessException.build("工艺路线工序[" +operation+ "]的自定义字段加工工时没维护"); + } else if (!StringUtils.isNumeric(prodHours)) { + throw BusinessException.build("工艺路线工序[" +operation+ "]的自定义字段加工工时不是数值"); + } + + if (prodHours.contains(".")) { + return prodHours.substring(0, prodHours.indexOf(".")); + } + + return prodHours; + } +} diff --git a/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml new file mode 100644 index 00000000..bbed1921 --- /dev/null +++ b/dispatch/src/main/resources/mapper/SfcDispatchMapper.xml @@ -0,0 +1,941 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, SHOP_ORDER, WORK_ORDER, SFC, IS_MAJOR, DISPATCH_SEQ, DISPATCH_NO, DISPATCH_STATUS, DRAWINGS_NO, DRAWINGS_REVISION, IS_LOCK, ROUTER_BO, STEP_ID, OPERATION, RESOURCE_TYPE, WORK_CENTER, RESRCE, EMPLOYEE, TURN_ORDER, DISPATCH_QTY, PROD_HOURS, PLANNED_START_DATE, PLANNED_COMPLETE_DATE, EARLIEST_START_DATE, LATEST_END_DATE, SO_RELEASED_DATE, SFC_RELEASED_DATE, RELEASED_COMPLETE_DATE, ACTUAL_COMPLETE_DATE, IS_ALLOT, IS_IMPORT, REMARK, IS_FIRST_OPERATION, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME, OTHER_1, OTHER_2, OTHER_3, OTHER_4, OTHER_5 + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_SFC_DISPATCH + + HANDLE, + SITE, + SHOP_ORDER, + WORK_ORDER, + SFC, + IS_MAJOR, + DISPATCH_SEQ, + DISPATCH_NO, + DISPATCH_STATUS, + DRAWINGS_NO, + DRAWINGS_REVISION, + IS_LOCK, + ROUTER_BO, + STEP_ID, + OPERATION, + RESOURCE_TYPE, + WORK_CENTER, + RESRCE, + EMPLOYEE, + TURN_ORDER, + DISPATCH_QTY, + PROD_HOURS, + PLANNED_START_DATE, + PLANNED_COMPLETE_DATE, + EARLIEST_START_DATE, + LATEST_END_DATE, + SO_RELEASED_DATE, + SFC_RELEASED_DATE, + RELEASED_COMPLETE_DATE, + ACTUAL_COMPLETE_DATE, + IS_ALLOT, + IS_IMPORT, + REMARK, + IS_FIRST_OPERATION, + CREATE_USER, + CREATED_DATE_TIME, + MODIFY_USER, + MODIFIED_DATE_TIME, + OTHER_1, + OTHER_2, + OTHER_3, + OTHER_4, + OTHER_5, + VALUES + + #{handle}, + #{site}, + #{shopOrder}, + #{workOrder}, + #{sfc}, + #{isMajor}, + #{dispatchSeq}, + #{dispatchNo}, + #{dispatchStatus}, + #{drawingsNo}, + #{drawingsRevision}, + #{isLock}, + #{routerBo}, + #{stepId}, + #{operation}, + #{resourceType}, + #{workCenter}, + #{resrce}, + #{employee}, + #{turnOrder}, + #{dispatchQty}, + #{prodHours}, + #{plannedStartDate}, + #{plannedCompleteDate}, + #{earliestStartDate}, + #{latestEndDate}, + #{soReleasedDate}, + #{sfcReleasedDate}, + #{releasedCompleteDate}, + #{actualCompleteDate}, + #{isAllot}, + #{isImport}, + #{remark}, + #{isFirstOperation}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + #{other1}, + #{other2}, + #{other3}, + #{other4}, + #{other5}, + + + + + INSERT INTO Z_SFC_DISPATCH + + + VALUES + + #{handle}, + #{site}, + #{shopOrder}, + #{workOrder}, + #{sfc}, + #{isMajor}, + #{dispatchSeq}, + #{dispatchNo}, + #{dispatchStatus}, + #{drawingsNo}, + #{drawingsRevision}, + #{isLock}, + #{routerBo}, + #{stepId}, + #{operation}, + #{resourceType}, + #{workCenter}, + #{resrce}, + #{employee}, + #{turnOrder}, + #{dispatchQty}, + #{prodHours}, + #{plannedStartDate}, + #{plannedCompleteDate}, + #{earliestStartDate}, + #{latestEndDate}, + #{soReleasedDate}, + #{sfcReleasedDate}, + #{releasedCompleteDate}, + #{actualCompleteDate}, + #{isAllot}, + #{isImport}, + #{remark}, + #{isFirstOperation}, + #{createUser}, + #{createdDateTime}, + #{modifyUser}, + #{modifiedDateTime}, + #{other1}, + #{other2}, + #{other3}, + #{other4}, + #{other5}, + + + + + + UPDATE Z_SFC_DISPATCH + SITE=#{et.site}, + SHOP_ORDER=#{et.shopOrder}, + WORK_ORDER=#{et.workOrder}, + SFC=#{et.sfc}, + IS_MAJOR=#{et.isMajor}, + DISPATCH_SEQ=#{et.dispatchSeq}, + DISPATCH_NO=#{et.dispatchNo}, + DISPATCH_STATUS=#{et.dispatchStatus}, + DRAWINGS_NO=#{et.drawingsNo}, + DRAWINGS_REVISION=#{et.drawingsRevision}, + IS_LOCK=#{et.isLock}, + ROUTER_BO=#{et.routerBo}, + STEP_ID=#{et.stepId}, + OPERATION=#{et.operation}, + RESOURCE_TYPE=#{et.resourceType}, + WORK_CENTER=#{et.workCenter}, + RESRCE=#{et.resrce}, + EMPLOYEE=#{et.employee}, + TURN_ORDER=#{et.turnOrder}, + DISPATCH_QTY=#{et.dispatchQty}, + PROD_HOURS=#{et.prodHours}, + PLANNED_START_DATE=#{et.plannedStartDate}, + PLANNED_COMPLETE_DATE=#{et.plannedCompleteDate}, + EARLIEST_START_DATE=#{et.earliestStartDate}, + LATEST_END_DATE=#{et.latestEndDate}, + SO_RELEASED_DATE=#{et.soReleasedDate}, + SFC_RELEASED_DATE=#{et.sfcReleasedDate}, + RELEASED_COMPLETE_DATE=#{et.releasedCompleteDate}, + ACTUAL_COMPLETE_DATE=#{et.actualCompleteDate}, + IS_ALLOT=#{et.isAllot}, + IS_IMPORT=#{et.isImport}, + REMARK=#{et.remark}, + IS_FIRST_OPERATION=#{et.isFirstOperation}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFY_USER=#{et.modifyUser}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + OTHER_1=#{et.other1}, + OTHER_2=#{et.other2}, + OTHER_3=#{et.other3}, + OTHER_4=#{et.other4}, + OTHER_5=#{et.other5}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_SFC_DISPATCH + SITE=#{et.site}, + SHOP_ORDER=#{et.shopOrder}, + WORK_ORDER=#{et.workOrder}, + SFC=#{et.sfc}, + IS_MAJOR=#{et.isMajor}, + DISPATCH_SEQ=#{et.dispatchSeq}, + DISPATCH_NO=#{et.dispatchNo}, + DISPATCH_STATUS=#{et.dispatchStatus}, + DRAWINGS_NO=#{et.drawingsNo}, + DRAWINGS_REVISION=#{et.drawingsRevision}, + IS_LOCK=#{et.isLock}, + ROUTER_BO=#{et.routerBo}, + STEP_ID=#{et.stepId}, + OPERATION=#{et.operation}, + RESOURCE_TYPE=#{et.resourceType}, + WORK_CENTER=#{et.workCenter}, + RESRCE=#{et.resrce}, + EMPLOYEE=#{et.employee}, + TURN_ORDER=#{et.turnOrder}, + DISPATCH_QTY=#{et.dispatchQty}, + PROD_HOURS=#{et.prodHours}, + PLANNED_START_DATE=#{et.plannedStartDate}, + PLANNED_COMPLETE_DATE=#{et.plannedCompleteDate}, + EARLIEST_START_DATE=#{et.earliestStartDate}, + LATEST_END_DATE=#{et.latestEndDate}, + SO_RELEASED_DATE=#{et.soReleasedDate}, + SFC_RELEASED_DATE=#{et.sfcReleasedDate}, + RELEASED_COMPLETE_DATE=#{et.releasedCompleteDate}, + ACTUAL_COMPLETE_DATE=#{et.actualCompleteDate}, + IS_ALLOT=#{et.isAllot}, + IS_IMPORT=#{et.isImport}, + REMARK=#{et.remark}, + IS_FIRST_OPERATION=#{et.isFirstOperation}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFY_USER=#{et.modifyUser}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + OTHER_1=#{et.other1}, + OTHER_2=#{et.other2}, + OTHER_3=#{et.other3}, + OTHER_4=#{et.other4}, + OTHER_5=#{et.other5}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_SFC_DISPATCH + SITE=#{et.site}, + SHOP_ORDER=#{et.shopOrder}, + WORK_ORDER=#{et.workOrder}, + SFC=#{et.sfc}, + IS_MAJOR=#{et.isMajor}, + DISPATCH_SEQ=#{et.dispatchSeq}, + DISPATCH_NO=#{et.dispatchNo}, + DISPATCH_STATUS=#{et.dispatchStatus}, + DRAWINGS_NO=#{et.drawingsNo}, + DRAWINGS_REVISION=#{et.drawingsRevision}, + IS_LOCK=#{et.isLock}, + ROUTER_BO=#{et.routerBo}, + STEP_ID=#{et.stepId}, + OPERATION=#{et.operation}, + RESOURCE_TYPE=#{et.resourceType}, + WORK_CENTER=#{et.workCenter}, + RESRCE=#{et.resrce}, + EMPLOYEE=#{et.employee}, + TURN_ORDER=#{et.turnOrder}, + DISPATCH_QTY=#{et.dispatchQty}, + PROD_HOURS=#{et.prodHours}, + PLANNED_START_DATE=#{et.plannedStartDate}, + PLANNED_COMPLETE_DATE=#{et.plannedCompleteDate}, + EARLIEST_START_DATE=#{et.earliestStartDate}, + LATEST_END_DATE=#{et.latestEndDate}, + SO_RELEASED_DATE=#{et.soReleasedDate}, + SFC_RELEASED_DATE=#{et.sfcReleasedDate}, + RELEASED_COMPLETE_DATE=#{et.releasedCompleteDate}, + ACTUAL_COMPLETE_DATE=#{et.actualCompleteDate}, + IS_ALLOT=#{et.isAllot}, + IS_IMPORT=#{et.isImport}, + REMARK=#{et.remark}, + IS_FIRST_OPERATION=#{et.isFirstOperation}, + CREATE_USER=#{et.createUser}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFY_USER=#{et.modifyUser}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + OTHER_1=#{et.other1}, + OTHER_2=#{et.other2}, + OTHER_3=#{et.other3}, + OTHER_4=#{et.other4}, + OTHER_5=#{et.other5}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND SHOP_ORDER=#{ew.entity.shopOrder} + AND WORK_ORDER=#{ew.entity.workOrder} + AND SFC=#{ew.entity.sfc} + AND IS_MAJOR=#{ew.entity.isMajor} + AND DISPATCH_SEQ=#{ew.entity.dispatchSeq} + AND DISPATCH_NO=#{ew.entity.dispatchNo} + AND DISPATCH_STATUS=#{ew.entity.dispatchStatus} + AND DRAWINGS_NO=#{ew.entity.drawingsNo} + AND DRAWINGS_REVISION=#{ew.entity.drawingsRevision} + AND IS_LOCK=#{ew.entity.isLock} + AND ROUTER_BO=#{ew.entity.routerBo} + AND STEP_ID=#{ew.entity.stepId} + AND OPERATION=#{ew.entity.operation} + AND RESOURCE_TYPE=#{ew.entity.resourceType} + AND WORK_CENTER=#{ew.entity.workCenter} + AND RESRCE=#{ew.entity.resrce} + AND EMPLOYEE=#{ew.entity.employee} + AND TURN_ORDER=#{ew.entity.turnOrder} + AND DISPATCH_QTY=#{ew.entity.dispatchQty} + AND PROD_HOURS=#{ew.entity.prodHours} + AND PLANNED_START_DATE=#{ew.entity.plannedStartDate} + AND PLANNED_COMPLETE_DATE=#{ew.entity.plannedCompleteDate} + AND EARLIEST_START_DATE=#{ew.entity.earliestStartDate} + AND LATEST_END_DATE=#{ew.entity.latestEndDate} + AND SO_RELEASED_DATE=#{ew.entity.soReleasedDate} + AND SFC_RELEASED_DATE=#{ew.entity.sfcReleasedDate} + AND RELEASED_COMPLETE_DATE=#{ew.entity.releasedCompleteDate} + AND ACTUAL_COMPLETE_DATE=#{ew.entity.actualCompleteDate} + AND IS_ALLOT=#{ew.entity.isAllot} + AND IS_IMPORT=#{ew.entity.isImport} + AND REMARK=#{ew.entity.remark} + AND IS_FIRST_OPERATION=#{ew.entity.isFirstOperation} + 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} + AND OTHER_1=#{ew.entity.other1} + AND OTHER_2=#{ew.entity.other2} + AND OTHER_3=#{ew.entity.other3} + AND OTHER_4=#{ew.entity.other4} + AND OTHER_5=#{ew.entity.other5} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_SFC_DISPATCH WHERE HANDLE=#{handle} + + + + DELETE FROM Z_SFC_DISPATCH + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_SFC_DISPATCH + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND SHOP_ORDER=#{ew.entity.shopOrder} + AND WORK_ORDER=#{ew.entity.workOrder} + AND SFC=#{ew.entity.sfc} + AND IS_MAJOR=#{ew.entity.isMajor} + AND DISPATCH_SEQ=#{ew.entity.dispatchSeq} + AND DISPATCH_NO=#{ew.entity.dispatchNo} + AND DISPATCH_STATUS=#{ew.entity.dispatchStatus} + AND DRAWINGS_NO=#{ew.entity.drawingsNo} + AND DRAWINGS_REVISION=#{ew.entity.drawingsRevision} + AND IS_LOCK=#{ew.entity.isLock} + AND ROUTER_BO=#{ew.entity.routerBo} + AND STEP_ID=#{ew.entity.stepId} + AND OPERATION=#{ew.entity.operation} + AND RESOURCE_TYPE=#{ew.entity.resourceType} + AND WORK_CENTER=#{ew.entity.workCenter} + AND RESRCE=#{ew.entity.resrce} + AND EMPLOYEE=#{ew.entity.employee} + AND TURN_ORDER=#{ew.entity.turnOrder} + AND DISPATCH_QTY=#{ew.entity.dispatchQty} + AND PROD_HOURS=#{ew.entity.prodHours} + AND PLANNED_START_DATE=#{ew.entity.plannedStartDate} + AND PLANNED_COMPLETE_DATE=#{ew.entity.plannedCompleteDate} + AND EARLIEST_START_DATE=#{ew.entity.earliestStartDate} + AND LATEST_END_DATE=#{ew.entity.latestEndDate} + AND SO_RELEASED_DATE=#{ew.entity.soReleasedDate} + AND SFC_RELEASED_DATE=#{ew.entity.sfcReleasedDate} + AND RELEASED_COMPLETE_DATE=#{ew.entity.releasedCompleteDate} + AND ACTUAL_COMPLETE_DATE=#{ew.entity.actualCompleteDate} + AND IS_ALLOT=#{ew.entity.isAllot} + AND IS_IMPORT=#{ew.entity.isImport} + AND REMARK=#{ew.entity.remark} + AND IS_FIRST_OPERATION=#{ew.entity.isFirstOperation} + 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} + AND OTHER_1=#{ew.entity.other1} + AND OTHER_2=#{ew.entity.other2} + AND OTHER_3=#{ew.entity.other3} + AND OTHER_4=#{ew.entity.other4} + AND OTHER_5=#{ew.entity.other5} + + + AND ${ew.sqlSegment} + + + + + AND ${ew.sqlSegment} + + + + + DELETE FROM Z_SFC_DISPATCH WHERE HANDLE IN ( + #{item} + ) + + + + + diff --git a/dispatch/src/main/resources/mapper/ShopOrderReleaseMapper.xml b/dispatch/src/main/resources/mapper/ShopOrderReleaseMapper.xml new file mode 100644 index 00000000..ff46896e --- /dev/null +++ b/dispatch/src/main/resources/mapper/ShopOrderReleaseMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java index 70dcf6a0..8fd65220 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResourceTypeController.java @@ -25,17 +25,6 @@ public class ResourceTypeController { @Autowired public ResourceTypeService resourceTypeService; - /** - * 根据id查询 - * - * @param id 主键 - * @return - */ - @ResponseBody - @GetMapping("/{id:.+}") - public R getResourceTypeById(@PathVariable String id) { - return R.ok( resourceTypeService.getById(id)); - } /** * 查询所有数据 diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java index e7aa4acf..f397621a 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java @@ -19,23 +19,12 @@ import java.util.List; * @since 2021-05-26 */ @RestController -@RequestMapping("/RESRCE") +@RequestMapping("/RESOURCE") public class ResrceController { @Autowired public ResrceService resrceService; - /** - * 根据id查询 - * - * @param id 主键 - * @return - */ - @ResponseBody - @GetMapping("/{id:.+}") - public R getResrceById(@PathVariable String id) { - return R.ok( resrceService.getById(id)); - } /** * 查询所有数据 @@ -44,7 +33,7 @@ public class ResrceController { */ @ResponseBody @GetMapping("") - public R getResrceList(Resrce resrce){ + public R getResourceList(Resrce resrce){ List result; QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.setEntity(resrce); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java new file mode 100644 index 00000000..1687887d --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/RouterController.java @@ -0,0 +1,141 @@ +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.RouterService; +import com.foreverwin.mesnac.meapi.model.Router; +import java.util.List; + +/** + * + * @author Leon.L + * @since 2021-06-02 + */ +@RestController +@RequestMapping("/ROUTER") +public class RouterController { + + @Autowired + public RouterService routerService; + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getRouterById(@PathVariable String id) { + return R.ok( routerService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getRouterList(Router router){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(router); + result = routerService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, Router router){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(router); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(Router::getHandle, frontPage.getGlobalQuery()) + .or().like(Router::getSite, frontPage.getGlobalQuery()) + .or().like(Router::getRouter, frontPage.getGlobalQuery()) + .or().like(Router::getRouterType, frontPage.getGlobalQuery()) + .or().like(Router::getDescription, frontPage.getGlobalQuery()) + .or().like(Router::getTemporaryRouter, frontPage.getGlobalQuery()) + .or().like(Router::getStatusBo, frontPage.getGlobalQuery()) + .or().like(Router::getEntryRouterStepBo, frontPage.getGlobalQuery()) + .or().like(Router::getCopiedFromRouterBo, frontPage.getGlobalQuery()) + .or().like(Router::getRevision, frontPage.getGlobalQuery()) + .or().like(Router::getCurrentRevision, frontPage.getGlobalQuery()) + .or().like(Router::getHasBeenReleased, frontPage.getGlobalQuery()) + .or().like(Router::getGuiRepresentation, frontPage.getGlobalQuery()) + .or().like(Router::getOriginalStatusBo, frontPage.getGlobalQuery()) + .or().like(Router::getDispositionGroupBo, frontPage.getGlobalQuery()) + .or().like(Router::getPrevSite, frontPage.getGlobalQuery()) + .or().like(Router::getOriginalTransferKey, frontPage.getGlobalQuery()) + .or().like(Router::getDisplayType, frontPage.getGlobalQuery()) + .or().like(Router::getSendAsShared, frontPage.getGlobalQuery()) + .or().like(Router::getSentToErp, frontPage.getGlobalQuery()) + .or().like(Router::getErpChangeNumber, frontPage.getGlobalQuery()) + .or().like(Router::getRelaxedFlow, frontPage.getGlobalQuery()) + .or().like(Router::getBomBo, frontPage.getGlobalQuery()) + .or().like(Router::getOrigin, frontPage.getGlobalQuery()) + ); + } + result = routerService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param router 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody Router router) { + return R.ok(routerService.save(router)); + } + + /** + * 修改 + * @param router 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody Router router) { + return R.ok(routerService.updateById(router)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(routerService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(routerService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/SfcController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/SfcController.java new file mode 100644 index 00000000..fd2b2f74 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/SfcController.java @@ -0,0 +1,122 @@ +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.SfcService; +import com.foreverwin.mesnac.meapi.model.Sfc; +import java.util.List; + +/** + * + * @author Leon.L + * @since 2021-06-02 + */ +@RestController +@RequestMapping("/SFC") +public class SfcController { + + @Autowired + public SfcService sfcService; + + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getSfcList(Sfc sfc){ + List result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfc); + result = sfcService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param frontPage 分页信息 + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(FrontPage frontPage, Sfc sfc){ + IPage result; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfc); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + //TODO modify global query + queryWrapper.lambda().and(wrapper -> wrapper + .like(Sfc::getHandle, frontPage.getGlobalQuery()) + .or().like(Sfc::getSite, frontPage.getGlobalQuery()) + .or().like(Sfc::getSfc, frontPage.getGlobalQuery()) + .or().like(Sfc::getStatusBo, frontPage.getGlobalQuery()) + .or().like(Sfc::getShopOrderBo, frontPage.getGlobalQuery()) + .or().like(Sfc::getItemBo, frontPage.getGlobalQuery()) + .or().like(Sfc::getLocation, frontPage.getGlobalQuery()) + .or().like(Sfc::getLccBo, frontPage.getGlobalQuery()) + .or().like(Sfc::getOriginalStatusBo, frontPage.getGlobalQuery()) + .or().like(Sfc::getQtyMultPerformed, frontPage.getGlobalQuery()) + .or().like(Sfc::getPrevSite, frontPage.getGlobalQuery()) + .or().like(Sfc::getOriginalTransferKey, frontPage.getGlobalQuery()) + .or().like(Sfc::getImmediateArchive, frontPage.getGlobalQuery()) + .or().like(Sfc::getTransferUser, frontPage.getGlobalQuery()) + .or().like(Sfc::getSnDone, frontPage.getGlobalQuery()) + .or().like(Sfc::getAinEquipmentId, frontPage.getGlobalQuery()) + ); + } + result = sfcService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * @param sfc 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody Sfc sfc) { + return R.ok(sfcService.save(sfc)); + } + + /** + * 修改 + * @param sfc 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody Sfc sfc) { + return R.ok(sfcService.updateById(sfc)); + } + + /** + * 根据id删除对象 + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id){ + return R.ok(sfcService.removeById(id)); + } + + /** + * 批量删除对象 + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids){ + return R.ok(sfcService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/WorkCenterController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/WorkCenterController.java index 56e88c2c..c6690113 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/WorkCenterController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/WorkCenterController.java @@ -34,9 +34,16 @@ public class WorkCenterController { @GetMapping("") public R getWorkCenterList(WorkCenter workCenter){ List result; - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.setEntity(workCenter); - result = workCenterService.list(queryWrapper); + try { + String site = CommonMethods.getSite(); + workCenter.setSite(site); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(workCenter); + result = workCenterService.list(queryWrapper); + } catch (Exception e) { + return R.failed(e.getMessage()); + } return R.ok(result); } @@ -82,6 +89,7 @@ public class WorkCenterController { */ @PostMapping public R save(@RequestBody WorkCenter workCenter) { + return R.ok(workCenterService.save(workCenter)); } @@ -92,6 +100,7 @@ public class WorkCenterController { */ @PutMapping public R updateById(@RequestBody WorkCenter workCenter) { + return R.ok(workCenterService.updateById(workCenter)); } } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterMapper.java new file mode 100644 index 00000000..cc036c9c --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterMapper.java @@ -0,0 +1,21 @@ +package com.foreverwin.mesnac.meapi.mapper; + +import com.foreverwin.mesnac.meapi.model.Router; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +/** + *

+ * Mapper 接口 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +@Repository +public interface RouterMapper extends BaseMapper { + + Router selectRouterBySfcBo(@Param("sfcBo") String sfcBo); + +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java new file mode 100644 index 00000000..7bf17082 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.meapi.mapper; + +import com.foreverwin.mesnac.meapi.model.Sfc; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * Mapper 接口 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +@Repository +public interface SfcMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Router.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Router.java new file mode 100644 index 00000000..633bef3a --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Router.java @@ -0,0 +1,428 @@ +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; + +/** + *

+ * + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ + +@TableName("ROUTER") +public class Router extends Model { + + private static final long serialVersionUID = 1L; + + @TableId("HANDLE") + private String handle; + @TableField("CHANGE_STAMP") + private Long changeStamp; + @TableField("SITE") + private String site; + @TableField("ROUTER") + private String router; + @TableField("ROUTER_TYPE") + private String routerType; + @TableField("DESCRIPTION") + private String description; + @TableField("TEMPORARY_ROUTER") + private String temporaryRouter; + @TableField("STATUS_BO") + private String statusBo; + @TableField("ENTRY_ROUTER_STEP_BO") + private String entryRouterStepBo; + @TableField("COPIED_FROM_ROUTER_BO") + private String copiedFromRouterBo; + @TableField("REVISION") + private String revision; + @TableField("CURRENT_REVISION") + private String currentRevision; + @TableField("HAS_BEEN_RELEASED") + private String hasBeenReleased; + @TableField("EFF_START_DATE") + private LocalDateTime effStartDate; + @TableField("EFF_END_DATE") + private LocalDateTime effEndDate; + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; + @TableField("MODIFIED_DATE_TIME") + private LocalDateTime modifiedDateTime; + @TableField("GUI_REPRESENTATION") + private String guiRepresentation; + @TableField("ORIGINAL_STATUS_BO") + private String originalStatusBo; + @TableField("DISPOSITION_GROUP_BO") + private String dispositionGroupBo; + @TableField("PREV_SITE") + private String prevSite; + @TableField("ORIGINAL_TRANSFER_KEY") + private String originalTransferKey; + @TableField("DISPLAY_TYPE") + private String displayType; + @TableField("HOLD_ID") + private Long holdId; + @TableField("SEND_AS_SHARED") + private String sendAsShared; + @TableField("SENT_TO_ERP") + private String sentToErp; + @TableField("ERP_CHANGE_NUMBER") + private String erpChangeNumber; + @TableField("RELAXED_FLOW") + private String relaxedFlow; + @TableField("BOM_BO") + private String bomBo; + @TableField("ORIGIN") + private String origin; + + + 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 getRouter() { + return router; + } + + public void setRouter(String router) { + this.router = router; + } + + public String getRouterType() { + return routerType; + } + + public void setRouterType(String routerType) { + this.routerType = routerType; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getTemporaryRouter() { + return temporaryRouter; + } + + public void setTemporaryRouter(String temporaryRouter) { + this.temporaryRouter = temporaryRouter; + } + + public String getStatusBo() { + return statusBo; + } + + public void setStatusBo(String statusBo) { + this.statusBo = statusBo; + } + + public String getEntryRouterStepBo() { + return entryRouterStepBo; + } + + public void setEntryRouterStepBo(String entryRouterStepBo) { + this.entryRouterStepBo = entryRouterStepBo; + } + + public String getCopiedFromRouterBo() { + return copiedFromRouterBo; + } + + public void setCopiedFromRouterBo(String copiedFromRouterBo) { + this.copiedFromRouterBo = copiedFromRouterBo; + } + + public String getRevision() { + return revision; + } + + public void setRevision(String revision) { + this.revision = revision; + } + + public String getCurrentRevision() { + return currentRevision; + } + + public void setCurrentRevision(String currentRevision) { + this.currentRevision = currentRevision; + } + + public String getHasBeenReleased() { + return hasBeenReleased; + } + + public void setHasBeenReleased(String hasBeenReleased) { + this.hasBeenReleased = hasBeenReleased; + } + + public LocalDateTime getEffStartDate() { + return effStartDate; + } + + public void setEffStartDate(LocalDateTime effStartDate) { + this.effStartDate = effStartDate; + } + + public LocalDateTime getEffEndDate() { + return effEndDate; + } + + public void setEffEndDate(LocalDateTime effEndDate) { + this.effEndDate = effEndDate; + } + + 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 String getGuiRepresentation() { + return guiRepresentation; + } + + public void setGuiRepresentation(String guiRepresentation) { + this.guiRepresentation = guiRepresentation; + } + + public String getOriginalStatusBo() { + return originalStatusBo; + } + + public void setOriginalStatusBo(String originalStatusBo) { + this.originalStatusBo = originalStatusBo; + } + + public String getDispositionGroupBo() { + return dispositionGroupBo; + } + + public void setDispositionGroupBo(String dispositionGroupBo) { + this.dispositionGroupBo = dispositionGroupBo; + } + + public String getPrevSite() { + return prevSite; + } + + public void setPrevSite(String prevSite) { + this.prevSite = prevSite; + } + + public String getOriginalTransferKey() { + return originalTransferKey; + } + + public void setOriginalTransferKey(String originalTransferKey) { + this.originalTransferKey = originalTransferKey; + } + + public String getDisplayType() { + return displayType; + } + + public void setDisplayType(String displayType) { + this.displayType = displayType; + } + + public Long getHoldId() { + return holdId; + } + + public void setHoldId(Long holdId) { + this.holdId = holdId; + } + + public String getSendAsShared() { + return sendAsShared; + } + + public void setSendAsShared(String sendAsShared) { + this.sendAsShared = sendAsShared; + } + + public String getSentToErp() { + return sentToErp; + } + + public void setSentToErp(String sentToErp) { + this.sentToErp = sentToErp; + } + + public String getErpChangeNumber() { + return erpChangeNumber; + } + + public void setErpChangeNumber(String erpChangeNumber) { + this.erpChangeNumber = erpChangeNumber; + } + + public String getRelaxedFlow() { + return relaxedFlow; + } + + public void setRelaxedFlow(String relaxedFlow) { + this.relaxedFlow = relaxedFlow; + } + + public String getBomBo() { + return bomBo; + } + + public void setBomBo(String bomBo) { + this.bomBo = bomBo; + } + + public String getOrigin() { + return origin; + } + + public void setOrigin(String origin) { + this.origin = origin; + } + +public static final String HANDLE = "HANDLE"; + +public static final String CHANGE_STAMP = "CHANGE_STAMP"; + +public static final String SITE = "SITE"; + +public static final String ROUTER = "ROUTER"; + +public static final String ROUTER_TYPE = "ROUTER_TYPE"; + +public static final String DESCRIPTION = "DESCRIPTION"; + +public static final String TEMPORARY_ROUTER = "TEMPORARY_ROUTER"; + +public static final String STATUS_BO = "STATUS_BO"; + +public static final String ENTRY_ROUTER_STEP_BO = "ENTRY_ROUTER_STEP_BO"; + +public static final String COPIED_FROM_ROUTER_BO = "COPIED_FROM_ROUTER_BO"; + +public static final String REVISION = "REVISION"; + +public static final String CURRENT_REVISION = "CURRENT_REVISION"; + +public static final String HAS_BEEN_RELEASED = "HAS_BEEN_RELEASED"; + +public static final String EFF_START_DATE = "EFF_START_DATE"; + +public static final String EFF_END_DATE = "EFF_END_DATE"; + +public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; + +public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; + +public static final String GUI_REPRESENTATION = "GUI_REPRESENTATION"; + +public static final String ORIGINAL_STATUS_BO = "ORIGINAL_STATUS_BO"; + +public static final String DISPOSITION_GROUP_BO = "DISPOSITION_GROUP_BO"; + +public static final String PREV_SITE = "PREV_SITE"; + +public static final String ORIGINAL_TRANSFER_KEY = "ORIGINAL_TRANSFER_KEY"; + +public static final String DISPLAY_TYPE = "DISPLAY_TYPE"; + +public static final String HOLD_ID = "HOLD_ID"; + +public static final String SEND_AS_SHARED = "SEND_AS_SHARED"; + +public static final String SENT_TO_ERP = "SENT_TO_ERP"; + +public static final String ERP_CHANGE_NUMBER = "ERP_CHANGE_NUMBER"; + +public static final String RELAXED_FLOW = "RELAXED_FLOW"; + +public static final String BOM_BO = "BOM_BO"; + +public static final String ORIGIN = "ORIGIN"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "Router{" + + "handle = " + handle + + ", changeStamp = " + changeStamp + + ", site = " + site + + ", router = " + router + + ", routerType = " + routerType + + ", description = " + description + + ", temporaryRouter = " + temporaryRouter + + ", statusBo = " + statusBo + + ", entryRouterStepBo = " + entryRouterStepBo + + ", copiedFromRouterBo = " + copiedFromRouterBo + + ", revision = " + revision + + ", currentRevision = " + currentRevision + + ", hasBeenReleased = " + hasBeenReleased + + ", effStartDate = " + effStartDate + + ", effEndDate = " + effEndDate + + ", createdDateTime = " + createdDateTime + + ", modifiedDateTime = " + modifiedDateTime + + ", guiRepresentation = " + guiRepresentation + + ", originalStatusBo = " + originalStatusBo + + ", dispositionGroupBo = " + dispositionGroupBo + + ", prevSite = " + prevSite + + ", originalTransferKey = " + originalTransferKey + + ", displayType = " + displayType + + ", holdId = " + holdId + + ", sendAsShared = " + sendAsShared + + ", sentToErp = " + sentToErp + + ", erpChangeNumber = " + erpChangeNumber + + ", relaxedFlow = " + relaxedFlow + + ", bomBo = " + bomBo + + ", origin = " + origin + + "}"; + } +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Sfc.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Sfc.java new file mode 100644 index 00000000..273b9e6a --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/Sfc.java @@ -0,0 +1,415 @@ +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; + +/** + *

+ * + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ + +@TableName("SFC") +public class Sfc extends Model { + + private static final long serialVersionUID = 1L; + + @TableId("HANDLE") + private String handle; + @TableField("CHANGE_STAMP") + private Long changeStamp; + @TableField("SITE") + private String site; + @TableField("SFC") + private String sfc; + @TableField("STATUS_BO") + private String statusBo; + @TableField("SHOP_ORDER_BO") + private String shopOrderBo; + @TableField("QTY") + private Double qty; + @TableField("QTY_DONE") + private Double qtyDone; + @TableField("QTY_SCRAPPED") + private Double qtyScrapped; + @TableField("QTY_HISTORICAL_MIN") + private Double qtyHistoricalMin; + @TableField("QTY_HISTORICAL_MAX") + private Double qtyHistoricalMax; + @TableField("ITEM_BO") + private String itemBo; + @TableField("PRIORITY") + private Long priority; + @TableField("LOCATION") + private String location; + @TableField("RMA_MAX_TIMES_PROCESSED") + private Long rmaMaxTimesProcessed; + @TableField("LCC_BO") + private String lccBo; + @TableField("ORIGINAL_STATUS_BO") + private String originalStatusBo; + @TableField("QTY_MULT_PERFORMED") + private String qtyMultPerformed; + @TableField("ACTUAL_COMP_DATE") + private LocalDateTime actualCompDate; + @TableField("PREV_SITE") + private String prevSite; + @TableField("ORIGINAL_TRANSFER_KEY") + private String originalTransferKey; + @TableField("IMMEDIATE_ARCHIVE") + private String immediateArchive; + @TableField("TRANSFER_DATETIME") + private LocalDateTime transferDatetime; + @TableField("TRANSFER_USER") + private String transferUser; + @TableField("SN_DONE") + private String snDone; + @TableField("AIN_EQUIPMENT_ID") + private String ainEquipmentId; + @TableField("CREATED_DATE_TIME") + private LocalDateTime createdDateTime; + @TableField("MODIFIED_DATE_TIME") + private LocalDateTime modifiedDateTime; + @TableField("PARTITION_DATE") + private LocalDateTime partitionDate; + + + 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 getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + + public String getStatusBo() { + return statusBo; + } + + public void setStatusBo(String statusBo) { + this.statusBo = statusBo; + } + + public String getShopOrderBo() { + return shopOrderBo; + } + + public void setShopOrderBo(String shopOrderBo) { + this.shopOrderBo = shopOrderBo; + } + + public Double getQty() { + return qty; + } + + public void setQty(Double qty) { + this.qty = qty; + } + + public Double getQtyDone() { + return qtyDone; + } + + public void setQtyDone(Double qtyDone) { + this.qtyDone = qtyDone; + } + + public Double getQtyScrapped() { + return qtyScrapped; + } + + public void setQtyScrapped(Double qtyScrapped) { + this.qtyScrapped = qtyScrapped; + } + + public Double getQtyHistoricalMin() { + return qtyHistoricalMin; + } + + public void setQtyHistoricalMin(Double qtyHistoricalMin) { + this.qtyHistoricalMin = qtyHistoricalMin; + } + + public Double getQtyHistoricalMax() { + return qtyHistoricalMax; + } + + public void setQtyHistoricalMax(Double qtyHistoricalMax) { + this.qtyHistoricalMax = qtyHistoricalMax; + } + + public String getItemBo() { + return itemBo; + } + + public void setItemBo(String itemBo) { + this.itemBo = itemBo; + } + + public Long getPriority() { + return priority; + } + + public void setPriority(Long priority) { + this.priority = priority; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public Long getRmaMaxTimesProcessed() { + return rmaMaxTimesProcessed; + } + + public void setRmaMaxTimesProcessed(Long rmaMaxTimesProcessed) { + this.rmaMaxTimesProcessed = rmaMaxTimesProcessed; + } + + public String getLccBo() { + return lccBo; + } + + public void setLccBo(String lccBo) { + this.lccBo = lccBo; + } + + public String getOriginalStatusBo() { + return originalStatusBo; + } + + public void setOriginalStatusBo(String originalStatusBo) { + this.originalStatusBo = originalStatusBo; + } + + public String getQtyMultPerformed() { + return qtyMultPerformed; + } + + public void setQtyMultPerformed(String qtyMultPerformed) { + this.qtyMultPerformed = qtyMultPerformed; + } + + public LocalDateTime getActualCompDate() { + return actualCompDate; + } + + public void setActualCompDate(LocalDateTime actualCompDate) { + this.actualCompDate = actualCompDate; + } + + public String getPrevSite() { + return prevSite; + } + + public void setPrevSite(String prevSite) { + this.prevSite = prevSite; + } + + public String getOriginalTransferKey() { + return originalTransferKey; + } + + public void setOriginalTransferKey(String originalTransferKey) { + this.originalTransferKey = originalTransferKey; + } + + public String getImmediateArchive() { + return immediateArchive; + } + + public void setImmediateArchive(String immediateArchive) { + this.immediateArchive = immediateArchive; + } + + public LocalDateTime getTransferDatetime() { + return transferDatetime; + } + + public void setTransferDatetime(LocalDateTime transferDatetime) { + this.transferDatetime = transferDatetime; + } + + public String getTransferUser() { + return transferUser; + } + + public void setTransferUser(String transferUser) { + this.transferUser = transferUser; + } + + public String getSnDone() { + return snDone; + } + + public void setSnDone(String snDone) { + this.snDone = snDone; + } + + public String getAinEquipmentId() { + return ainEquipmentId; + } + + public void setAinEquipmentId(String ainEquipmentId) { + this.ainEquipmentId = ainEquipmentId; + } + + 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 static final String HANDLE = "HANDLE"; + +public static final String CHANGE_STAMP = "CHANGE_STAMP"; + +public static final String SITE = "SITE"; + +public static final String SFC = "SFC"; + +public static final String STATUS_BO = "STATUS_BO"; + +public static final String SHOP_ORDER_BO = "SHOP_ORDER_BO"; + +public static final String QTY = "QTY"; + +public static final String QTY_DONE = "QTY_DONE"; + +public static final String QTY_SCRAPPED = "QTY_SCRAPPED"; + +public static final String QTY_HISTORICAL_MIN = "QTY_HISTORICAL_MIN"; + +public static final String QTY_HISTORICAL_MAX = "QTY_HISTORICAL_MAX"; + +public static final String ITEM_BO = "ITEM_BO"; + +public static final String PRIORITY = "PRIORITY"; + +public static final String LOCATION = "LOCATION"; + +public static final String RMA_MAX_TIMES_PROCESSED = "RMA_MAX_TIMES_PROCESSED"; + +public static final String LCC_BO = "LCC_BO"; + +public static final String ORIGINAL_STATUS_BO = "ORIGINAL_STATUS_BO"; + +public static final String QTY_MULT_PERFORMED = "QTY_MULT_PERFORMED"; + +public static final String ACTUAL_COMP_DATE = "ACTUAL_COMP_DATE"; + +public static final String PREV_SITE = "PREV_SITE"; + +public static final String ORIGINAL_TRANSFER_KEY = "ORIGINAL_TRANSFER_KEY"; + +public static final String IMMEDIATE_ARCHIVE = "IMMEDIATE_ARCHIVE"; + +public static final String TRANSFER_DATETIME = "TRANSFER_DATETIME"; + +public static final String TRANSFER_USER = "TRANSFER_USER"; + +public static final String SN_DONE = "SN_DONE"; + +public static final String AIN_EQUIPMENT_ID = "AIN_EQUIPMENT_ID"; + +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"; + + + @Override + protected Serializable pkVal() { + return this.handle; + } + + @Override + public String toString() { + return "Sfc{" + + "handle = " + handle + + ", changeStamp = " + changeStamp + + ", site = " + site + + ", sfc = " + sfc + + ", statusBo = " + statusBo + + ", shopOrderBo = " + shopOrderBo + + ", qty = " + qty + + ", qtyDone = " + qtyDone + + ", qtyScrapped = " + qtyScrapped + + ", qtyHistoricalMin = " + qtyHistoricalMin + + ", qtyHistoricalMax = " + qtyHistoricalMax + + ", itemBo = " + itemBo + + ", priority = " + priority + + ", location = " + location + + ", rmaMaxTimesProcessed = " + rmaMaxTimesProcessed + + ", lccBo = " + lccBo + + ", originalStatusBo = " + originalStatusBo + + ", qtyMultPerformed = " + qtyMultPerformed + + ", actualCompDate = " + actualCompDate + + ", prevSite = " + prevSite + + ", originalTransferKey = " + originalTransferKey + + ", immediateArchive = " + immediateArchive + + ", transferDatetime = " + transferDatetime + + ", transferUser = " + transferUser + + ", snDone = " + snDone + + ", ainEquipmentId = " + ainEquipmentId + + ", createdDateTime = " + createdDateTime + + ", modifiedDateTime = " + modifiedDateTime + + ", partitionDate = " + partitionDate + + "}"; + } +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java index 8ba08265..40f77cc3 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/ShopOrder.java @@ -2,6 +2,7 @@ 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; @@ -19,12 +20,11 @@ import com.baomidou.mybatisplus.annotation.IdType; */ @TableName("SHOP_ORDER") - public class ShopOrder extends Model { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - @TableField("HANDLE") + @TableId("HANDLE") private String handle; @TableField("CHANGE_STAMP") private Long changeStamp; diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/RouterService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/RouterService.java new file mode 100644 index 00000000..0c6a738e --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/RouterService.java @@ -0,0 +1,30 @@ +package com.foreverwin.mesnac.meapi.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.meapi.model.Router; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +public interface RouterService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, Router router); + + List selectList(Router router); + + Router getRouterBySfcBo(String sfcBo); +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcService.java new file mode 100644 index 00000000..9f741f78 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/SfcService.java @@ -0,0 +1,33 @@ +package com.foreverwin.mesnac.meapi.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.meapi.model.Sfc; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +public interface SfcService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, Sfc sfc); + + List selectList(Sfc sfc); + + /** + * 查询工单下生产批次 + */ + List getSfcListByShopOrderBo(String shopOrderBo); +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java new file mode 100644 index 00000000..d4632eb7 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java @@ -0,0 +1,51 @@ +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.Router; +import com.foreverwin.mesnac.meapi.mapper.RouterMapper; +import com.foreverwin.mesnac.meapi.service.RouterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + *

+ * 服务实现类 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class RouterServiceImpl extends ServiceImpl implements RouterService { + + + @Autowired + private RouterMapper routerMapper; + + @Override + public IPage selectPage(FrontPage frontPage, Router router) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(router); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(Router router) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(router); + return super.list(queryWrapper); + } + + @Override + public Router getRouterBySfcBo(String sfcBo) { + return routerMapper.selectRouterBySfcBo(sfcBo); + } + + +} \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/SfcServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/SfcServiceImpl.java new file mode 100644 index 00000000..5d1979d8 --- /dev/null +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/SfcServiceImpl.java @@ -0,0 +1,55 @@ +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.Sfc; +import com.foreverwin.mesnac.meapi.mapper.SfcMapper; +import com.foreverwin.mesnac.meapi.service.SfcService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +/** + *

+ * 服务实现类 + *

+ * + * @author Leon.L + * @since 2021-06-02 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class SfcServiceImpl extends ServiceImpl implements SfcService { + + + @Autowired + private SfcMapper sfcMapper; + + @Override + public IPage selectPage(FrontPage frontPage, Sfc sfc) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfc); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(Sfc sfc) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(sfc); + return super.list(queryWrapper); + } + + @Override + public List getSfcListByShopOrderBo(String shopOrderBo) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Sfc sfc = new Sfc(); + sfc.setShopOrderBo(shopOrderBo); + queryWrapper.setEntity(sfc); + return super.list(queryWrapper); + } + + +} \ No newline at end of file diff --git a/meapi/src/main/resources/mapper/RouterMapper.xml b/meapi/src/main/resources/mapper/RouterMapper.xml new file mode 100644 index 00000000..a3c167be --- /dev/null +++ b/meapi/src/main/resources/mapper/RouterMapper.xml @@ -0,0 +1,648 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLE, CHANGE_STAMP, SITE, ROUTER, ROUTER_TYPE, DESCRIPTION, TEMPORARY_ROUTER, STATUS_BO, ENTRY_ROUTER_STEP_BO, COPIED_FROM_ROUTER_BO, REVISION, CURRENT_REVISION, HAS_BEEN_RELEASED, EFF_START_DATE, EFF_END_DATE, CREATED_DATE_TIME, MODIFIED_DATE_TIME, GUI_REPRESENTATION, ORIGINAL_STATUS_BO, DISPOSITION_GROUP_BO, PREV_SITE, ORIGINAL_TRANSFER_KEY, DISPLAY_TYPE, HOLD_ID, SEND_AS_SHARED, SENT_TO_ERP, ERP_CHANGE_NUMBER, RELAXED_FLOW, BOM_BO, ORIGIN + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO ROUTER + + HANDLE, + CHANGE_STAMP, + SITE, + ROUTER, + ROUTER_TYPE, + DESCRIPTION, + TEMPORARY_ROUTER, + STATUS_BO, + ENTRY_ROUTER_STEP_BO, + COPIED_FROM_ROUTER_BO, + REVISION, + CURRENT_REVISION, + HAS_BEEN_RELEASED, + EFF_START_DATE, + EFF_END_DATE, + CREATED_DATE_TIME, + MODIFIED_DATE_TIME, + GUI_REPRESENTATION, + ORIGINAL_STATUS_BO, + DISPOSITION_GROUP_BO, + PREV_SITE, + ORIGINAL_TRANSFER_KEY, + DISPLAY_TYPE, + HOLD_ID, + SEND_AS_SHARED, + SENT_TO_ERP, + ERP_CHANGE_NUMBER, + RELAXED_FLOW, + BOM_BO, + ORIGIN, + VALUES + + #{handle}, + #{changeStamp}, + #{site}, + #{router}, + #{routerType}, + #{description}, + #{temporaryRouter}, + #{statusBo}, + #{entryRouterStepBo}, + #{copiedFromRouterBo}, + #{revision}, + #{currentRevision}, + #{hasBeenReleased}, + #{effStartDate}, + #{effEndDate}, + #{createdDateTime}, + #{modifiedDateTime}, + #{guiRepresentation}, + #{originalStatusBo}, + #{dispositionGroupBo}, + #{prevSite}, + #{originalTransferKey}, + #{displayType}, + #{holdId}, + #{sendAsShared}, + #{sentToErp}, + #{erpChangeNumber}, + #{relaxedFlow}, + #{bomBo}, + #{origin}, + + + + + INSERT INTO ROUTER + + + VALUES + + #{handle}, + #{changeStamp}, + #{site}, + #{router}, + #{routerType}, + #{description}, + #{temporaryRouter}, + #{statusBo}, + #{entryRouterStepBo}, + #{copiedFromRouterBo}, + #{revision}, + #{currentRevision}, + #{hasBeenReleased}, + #{effStartDate}, + #{effEndDate}, + #{createdDateTime}, + #{modifiedDateTime}, + #{guiRepresentation}, + #{originalStatusBo}, + #{dispositionGroupBo}, + #{prevSite}, + #{originalTransferKey}, + #{displayType}, + #{holdId}, + #{sendAsShared}, + #{sentToErp}, + #{erpChangeNumber}, + #{relaxedFlow}, + #{bomBo}, + #{origin}, + + + + + + + + + + UPDATE ROUTER + HANDLE=#{et.handle}, + CHANGE_STAMP=#{et.changeStamp}, + SITE=#{et.site}, + ROUTER=#{et.router}, + ROUTER_TYPE=#{et.routerType}, + DESCRIPTION=#{et.description}, + TEMPORARY_ROUTER=#{et.temporaryRouter}, + STATUS_BO=#{et.statusBo}, + ENTRY_ROUTER_STEP_BO=#{et.entryRouterStepBo}, + COPIED_FROM_ROUTER_BO=#{et.copiedFromRouterBo}, + REVISION=#{et.revision}, + CURRENT_REVISION=#{et.currentRevision}, + HAS_BEEN_RELEASED=#{et.hasBeenReleased}, + EFF_START_DATE=#{et.effStartDate}, + EFF_END_DATE=#{et.effEndDate}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + GUI_REPRESENTATION=#{et.guiRepresentation}, + ORIGINAL_STATUS_BO=#{et.originalStatusBo}, + DISPOSITION_GROUP_BO=#{et.dispositionGroupBo}, + PREV_SITE=#{et.prevSite}, + ORIGINAL_TRANSFER_KEY=#{et.originalTransferKey}, + DISPLAY_TYPE=#{et.displayType}, + HOLD_ID=#{et.holdId}, + SEND_AS_SHARED=#{et.sendAsShared}, + SENT_TO_ERP=#{et.sentToErp}, + ERP_CHANGE_NUMBER=#{et.erpChangeNumber}, + RELAXED_FLOW=#{et.relaxedFlow}, + BOM_BO=#{et.bomBo}, + ORIGIN=#{et.origin}, + + + + + HANDLE=#{ew.entity.handle} + AND CHANGE_STAMP=#{ew.entity.changeStamp} + AND SITE=#{ew.entity.site} + AND ROUTER=#{ew.entity.router} + AND ROUTER_TYPE=#{ew.entity.routerType} + AND DESCRIPTION=#{ew.entity.description} + AND TEMPORARY_ROUTER=#{ew.entity.temporaryRouter} + AND STATUS_BO=#{ew.entity.statusBo} + AND ENTRY_ROUTER_STEP_BO=#{ew.entity.entryRouterStepBo} + AND COPIED_FROM_ROUTER_BO=#{ew.entity.copiedFromRouterBo} + AND REVISION=#{ew.entity.revision} + AND CURRENT_REVISION=#{ew.entity.currentRevision} + AND HAS_BEEN_RELEASED=#{ew.entity.hasBeenReleased} + AND EFF_START_DATE=#{ew.entity.effStartDate} + AND EFF_END_DATE=#{ew.entity.effEndDate} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND GUI_REPRESENTATION=#{ew.entity.guiRepresentation} + AND ORIGINAL_STATUS_BO=#{ew.entity.originalStatusBo} + AND DISPOSITION_GROUP_BO=#{ew.entity.dispositionGroupBo} + AND PREV_SITE=#{ew.entity.prevSite} + AND ORIGINAL_TRANSFER_KEY=#{ew.entity.originalTransferKey} + AND DISPLAY_TYPE=#{ew.entity.displayType} + AND HOLD_ID=#{ew.entity.holdId} + AND SEND_AS_SHARED=#{ew.entity.sendAsShared} + AND SENT_TO_ERP=#{ew.entity.sentToErp} + AND ERP_CHANGE_NUMBER=#{ew.entity.erpChangeNumber} + AND RELAXED_FLOW=#{ew.entity.relaxedFlow} + AND BOM_BO=#{ew.entity.bomBo} + AND ORIGIN=#{ew.entity.origin} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + DELETE FROM ROUTER + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM ROUTER + + + + + HANDLE=#{ew.entity.handle} + + AND CHANGE_STAMP=#{ew.entity.changeStamp} + AND SITE=#{ew.entity.site} + AND ROUTER=#{ew.entity.router} + AND ROUTER_TYPE=#{ew.entity.routerType} + AND DESCRIPTION=#{ew.entity.description} + AND TEMPORARY_ROUTER=#{ew.entity.temporaryRouter} + AND STATUS_BO=#{ew.entity.statusBo} + AND ENTRY_ROUTER_STEP_BO=#{ew.entity.entryRouterStepBo} + AND COPIED_FROM_ROUTER_BO=#{ew.entity.copiedFromRouterBo} + AND REVISION=#{ew.entity.revision} + AND CURRENT_REVISION=#{ew.entity.currentRevision} + AND HAS_BEEN_RELEASED=#{ew.entity.hasBeenReleased} + AND EFF_START_DATE=#{ew.entity.effStartDate} + AND EFF_END_DATE=#{ew.entity.effEndDate} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND GUI_REPRESENTATION=#{ew.entity.guiRepresentation} + AND ORIGINAL_STATUS_BO=#{ew.entity.originalStatusBo} + AND DISPOSITION_GROUP_BO=#{ew.entity.dispositionGroupBo} + AND PREV_SITE=#{ew.entity.prevSite} + AND ORIGINAL_TRANSFER_KEY=#{ew.entity.originalTransferKey} + AND DISPLAY_TYPE=#{ew.entity.displayType} + AND HOLD_ID=#{ew.entity.holdId} + AND SEND_AS_SHARED=#{ew.entity.sendAsShared} + AND SENT_TO_ERP=#{ew.entity.sentToErp} + AND ERP_CHANGE_NUMBER=#{ew.entity.erpChangeNumber} + AND RELAXED_FLOW=#{ew.entity.relaxedFlow} + AND BOM_BO=#{ew.entity.bomBo} + AND ORIGIN=#{ew.entity.origin} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + + diff --git a/meapi/src/main/resources/mapper/SfcMapper.xml b/meapi/src/main/resources/mapper/SfcMapper.xml new file mode 100644 index 00000000..a665108c --- /dev/null +++ b/meapi/src/main/resources/mapper/SfcMapper.xml @@ -0,0 +1,626 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLE, CHANGE_STAMP, SITE, SFC, STATUS_BO, SHOP_ORDER_BO, QTY, QTY_DONE, QTY_SCRAPPED, QTY_HISTORICAL_MIN, QTY_HISTORICAL_MAX, ITEM_BO, PRIORITY, LOCATION, RMA_MAX_TIMES_PROCESSED, LCC_BO, ORIGINAL_STATUS_BO, QTY_MULT_PERFORMED, ACTUAL_COMP_DATE, PREV_SITE, ORIGINAL_TRANSFER_KEY, IMMEDIATE_ARCHIVE, TRANSFER_DATETIME, TRANSFER_USER, SN_DONE, AIN_EQUIPMENT_ID, CREATED_DATE_TIME, MODIFIED_DATE_TIME, PARTITION_DATE + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO SFC + + HANDLE, + CHANGE_STAMP, + SITE, + SFC, + STATUS_BO, + SHOP_ORDER_BO, + QTY, + QTY_DONE, + QTY_SCRAPPED, + QTY_HISTORICAL_MIN, + QTY_HISTORICAL_MAX, + ITEM_BO, + PRIORITY, + LOCATION, + RMA_MAX_TIMES_PROCESSED, + LCC_BO, + ORIGINAL_STATUS_BO, + QTY_MULT_PERFORMED, + ACTUAL_COMP_DATE, + PREV_SITE, + ORIGINAL_TRANSFER_KEY, + IMMEDIATE_ARCHIVE, + TRANSFER_DATETIME, + TRANSFER_USER, + SN_DONE, + AIN_EQUIPMENT_ID, + CREATED_DATE_TIME, + MODIFIED_DATE_TIME, + PARTITION_DATE, + VALUES + + #{handle}, + #{changeStamp}, + #{site}, + #{sfc}, + #{statusBo}, + #{shopOrderBo}, + #{qty}, + #{qtyDone}, + #{qtyScrapped}, + #{qtyHistoricalMin}, + #{qtyHistoricalMax}, + #{itemBo}, + #{priority}, + #{location}, + #{rmaMaxTimesProcessed}, + #{lccBo}, + #{originalStatusBo}, + #{qtyMultPerformed}, + #{actualCompDate}, + #{prevSite}, + #{originalTransferKey}, + #{immediateArchive}, + #{transferDatetime}, + #{transferUser}, + #{snDone}, + #{ainEquipmentId}, + #{createdDateTime}, + #{modifiedDateTime}, + #{partitionDate}, + + + + + INSERT INTO SFC + + + VALUES + + #{handle}, + #{changeStamp}, + #{site}, + #{sfc}, + #{statusBo}, + #{shopOrderBo}, + #{qty}, + #{qtyDone}, + #{qtyScrapped}, + #{qtyHistoricalMin}, + #{qtyHistoricalMax}, + #{itemBo}, + #{priority}, + #{location}, + #{rmaMaxTimesProcessed}, + #{lccBo}, + #{originalStatusBo}, + #{qtyMultPerformed}, + #{actualCompDate}, + #{prevSite}, + #{originalTransferKey}, + #{immediateArchive}, + #{transferDatetime}, + #{transferUser}, + #{snDone}, + #{ainEquipmentId}, + #{createdDateTime}, + #{modifiedDateTime}, + #{partitionDate}, + + + + + + + + + + UPDATE SFC + HANDLE=#{et.handle}, + CHANGE_STAMP=#{et.changeStamp}, + SITE=#{et.site}, + SFC=#{et.sfc}, + STATUS_BO=#{et.statusBo}, + SHOP_ORDER_BO=#{et.shopOrderBo}, + QTY=#{et.qty}, + QTY_DONE=#{et.qtyDone}, + QTY_SCRAPPED=#{et.qtyScrapped}, + QTY_HISTORICAL_MIN=#{et.qtyHistoricalMin}, + QTY_HISTORICAL_MAX=#{et.qtyHistoricalMax}, + ITEM_BO=#{et.itemBo}, + PRIORITY=#{et.priority}, + LOCATION=#{et.location}, + RMA_MAX_TIMES_PROCESSED=#{et.rmaMaxTimesProcessed}, + LCC_BO=#{et.lccBo}, + ORIGINAL_STATUS_BO=#{et.originalStatusBo}, + QTY_MULT_PERFORMED=#{et.qtyMultPerformed}, + ACTUAL_COMP_DATE=#{et.actualCompDate}, + PREV_SITE=#{et.prevSite}, + ORIGINAL_TRANSFER_KEY=#{et.originalTransferKey}, + IMMEDIATE_ARCHIVE=#{et.immediateArchive}, + TRANSFER_DATETIME=#{et.transferDatetime}, + TRANSFER_USER=#{et.transferUser}, + SN_DONE=#{et.snDone}, + AIN_EQUIPMENT_ID=#{et.ainEquipmentId}, + CREATED_DATE_TIME=#{et.createdDateTime}, + MODIFIED_DATE_TIME=#{et.modifiedDateTime}, + PARTITION_DATE=#{et.partitionDate}, + + + + + HANDLE=#{ew.entity.handle} + AND CHANGE_STAMP=#{ew.entity.changeStamp} + AND SITE=#{ew.entity.site} + AND SFC=#{ew.entity.sfc} + AND STATUS_BO=#{ew.entity.statusBo} + AND SHOP_ORDER_BO=#{ew.entity.shopOrderBo} + AND QTY=#{ew.entity.qty} + AND QTY_DONE=#{ew.entity.qtyDone} + AND QTY_SCRAPPED=#{ew.entity.qtyScrapped} + AND QTY_HISTORICAL_MIN=#{ew.entity.qtyHistoricalMin} + AND QTY_HISTORICAL_MAX=#{ew.entity.qtyHistoricalMax} + AND ITEM_BO=#{ew.entity.itemBo} + AND PRIORITY=#{ew.entity.priority} + AND LOCATION=#{ew.entity.location} + AND RMA_MAX_TIMES_PROCESSED=#{ew.entity.rmaMaxTimesProcessed} + AND LCC_BO=#{ew.entity.lccBo} + AND ORIGINAL_STATUS_BO=#{ew.entity.originalStatusBo} + AND QTY_MULT_PERFORMED=#{ew.entity.qtyMultPerformed} + AND ACTUAL_COMP_DATE=#{ew.entity.actualCompDate} + AND PREV_SITE=#{ew.entity.prevSite} + AND ORIGINAL_TRANSFER_KEY=#{ew.entity.originalTransferKey} + AND IMMEDIATE_ARCHIVE=#{ew.entity.immediateArchive} + AND TRANSFER_DATETIME=#{ew.entity.transferDatetime} + AND TRANSFER_USER=#{ew.entity.transferUser} + AND SN_DONE=#{ew.entity.snDone} + AND AIN_EQUIPMENT_ID=#{ew.entity.ainEquipmentId} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND PARTITION_DATE=#{ew.entity.partitionDate} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + DELETE FROM SFC + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM SFC + + + + + HANDLE=#{ew.entity.handle} + + AND CHANGE_STAMP=#{ew.entity.changeStamp} + AND SITE=#{ew.entity.site} + AND SFC=#{ew.entity.sfc} + AND STATUS_BO=#{ew.entity.statusBo} + AND SHOP_ORDER_BO=#{ew.entity.shopOrderBo} + AND QTY=#{ew.entity.qty} + AND QTY_DONE=#{ew.entity.qtyDone} + AND QTY_SCRAPPED=#{ew.entity.qtyScrapped} + AND QTY_HISTORICAL_MIN=#{ew.entity.qtyHistoricalMin} + AND QTY_HISTORICAL_MAX=#{ew.entity.qtyHistoricalMax} + AND ITEM_BO=#{ew.entity.itemBo} + AND PRIORITY=#{ew.entity.priority} + AND LOCATION=#{ew.entity.location} + AND RMA_MAX_TIMES_PROCESSED=#{ew.entity.rmaMaxTimesProcessed} + AND LCC_BO=#{ew.entity.lccBo} + AND ORIGINAL_STATUS_BO=#{ew.entity.originalStatusBo} + AND QTY_MULT_PERFORMED=#{ew.entity.qtyMultPerformed} + AND ACTUAL_COMP_DATE=#{ew.entity.actualCompDate} + AND PREV_SITE=#{ew.entity.prevSite} + AND ORIGINAL_TRANSFER_KEY=#{ew.entity.originalTransferKey} + AND IMMEDIATE_ARCHIVE=#{ew.entity.immediateArchive} + AND TRANSFER_DATETIME=#{ew.entity.transferDatetime} + AND TRANSFER_USER=#{ew.entity.transferUser} + AND SN_DONE=#{ew.entity.snDone} + AND AIN_EQUIPMENT_ID=#{ew.entity.ainEquipmentId} + AND CREATED_DATE_TIME=#{ew.entity.createdDateTime} + AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime} + AND PARTITION_DATE=#{ew.entity.partitionDate} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + + diff --git a/meapi/src/main/resources/mapper/WorkCenterMapper.xml b/meapi/src/main/resources/mapper/WorkCenterMapper.xml index 78dfa267..91003317 100644 --- a/meapi/src/main/resources/mapper/WorkCenterMapper.xml +++ b/meapi/src/main/resources/mapper/WorkCenterMapper.xml @@ -35,7 +35,6 @@ - - SELECT A.WORK_CENTER,B.DESCRIPTION FROM WORK_CENTER A - LEFT JOIN WORK_CENTER_T B ON A.HANDLE=B.WORK_CENTER_BO + LEFT JOIN WORK_CENTER_T B ON A.HANDLE = B.WORK_CENTER_BO WHERE (A.WORK_CENTER like '%${workCenter}%' OR @@ -125,38 +124,39 @@