From 7d63d0e7c23a8675652749f931a41d608a14aec5 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Fri, 19 Apr 2024 17:27:36 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=9C=80=E6=B1=82=E3=80=91=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=B7=A5=E5=BA=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/biz/chanjet/ChanjetController.java | 8 ++ .../biz/chanjet/ChanjetInterfaceEnum.java | 2 + .../biz/chanjet/vo/CreateProcedureVO.java | 80 +++++++++++++++++++ .../module/biz/manager/ChanjetManager.java | 37 +++++++++ .../src/api/biz/procedure/index.ts | 2 +- 5 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/vo/CreateProcedureVO.java diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetController.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetController.java index d985d851..6e087c5c 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetController.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetController.java @@ -4,6 +4,7 @@ import com.chanjet.openapi.sdk.java.exception.ChanjetApiException; import com.chanjet.openapi.sdk.java.response.GetTokenResponse; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import com.chanko.yunxi.mes.framework.tenant.core.aop.TenantIgnore; +import com.chanko.yunxi.mes.module.biz.controller.admin.procedure.vo.ProcedureSaveReqVO; import com.chanko.yunxi.mes.module.biz.controller.admin.workshop.vo.WorkshopSaveReqVO; import com.chanko.yunxi.mes.module.biz.manager.ChanjetManager; import com.chanko.yunxi.mes.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO; @@ -86,4 +87,11 @@ public class ChanjetController { chanjetManager.querySupplier(); return success(null); } + + @PostMapping("/procedure/create") + @Operation(summary = "创建工序") + @PreAuthorize("@ss.hasPermission('biz:procedure:create')") + public CommonResult createProcedure(@Valid @RequestBody ProcedureSaveReqVO createReqVO) throws ChanjetApiException { + return success(chanjetManager.createProcedure(createReqVO)); + } } diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetInterfaceEnum.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetInterfaceEnum.java index 13c81eeb..d432e204 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetInterfaceEnum.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/ChanjetInterfaceEnum.java @@ -5,6 +5,7 @@ import com.chanjet.openapi.sdk.java.ChanjetContent; import com.chanjet.openapi.sdk.java.ChanjetResponse; import com.chanjet.openapi.sdk.java.enums.HttpMethod; import com.chanko.yunxi.mes.module.biz.chanjet.vo.CreateDepartmentVO; +import com.chanko.yunxi.mes.module.biz.chanjet.vo.CreateProcedureVO; import com.chanko.yunxi.mes.module.biz.chanjet.vo.QueryPartnerVO; import com.chanko.yunxi.mes.module.biz.chanjet.vo.SimpleChanjetResponse; import lombok.Getter; @@ -20,6 +21,7 @@ public enum ChanjetInterfaceEnum { CREATE_WORKSHOP("/tplus/api/v2/department/Create", "创建车间", CreateDepartmentVO.class, SimpleChanjetResponse.class), QUERY_CUSTOMER("/tplus/api/v2/partner/Query", "查询客户", QueryPartnerVO.class, SimpleChanjetResponse.class), // TODO reponse QUERY_SUPPLIER("/tplus/api/v2/partner/Query", "查询供应商", QueryPartnerVO.class, SimpleChanjetResponse.class), // TODO reponse + CREATE_PROCEDURE("/tplus/api/v2/process/Create", "创建工序", CreateProcedureVO.class, SimpleChanjetResponse.class), ; private String uri; diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/vo/CreateProcedureVO.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/vo/CreateProcedureVO.java new file mode 100644 index 00000000..697f96b7 --- /dev/null +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/chanjet/vo/CreateProcedureVO.java @@ -0,0 +1,80 @@ +package com.chanko.yunxi.mes.module.biz.chanjet.vo; + +import com.chanjet.openapi.sdk.java.AbstractChanjetContent; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.Map; + +/** + * 工序创建 + * { + * "dto": { + * "labourPrice": 15000, + * "IsNeedsToBeTransfered": false, + * "memo": "备注", + * "Code": "", + * "Name": "", + * "outMaxSourcePrice": 15000, + * "hourLabourPrice": 15000, + * "standardQualificationrate": 15000, + * "defaultReportQuantity": 15000, + * "PieceworkBasis": { + * "Code": "计件依据编码01:合格数量02:报工数量" + * }, + * "StandardWorkingHours": 15000, + * "outSourcePrice": 15000, + * "keyProcess": false, + * "SalaryType": { + * "Code": "工资类型编码PieceRateWage:计件工资HourWage:计时工资NoAccounting:不核算" + * }, + * "ProcessTeam": { + * "Code": "班组编码" + * }, + * "TaxRate": { + * "Code": "税率代码" + * }, + * "Workshop": { + * "Code": "车间编码" + * }, + * "processMode": { + * "Code": "加工方式编码HomeMade:自制OutSource:委外" + * }, + * "Disabled": false, + * "Person": { + * "Code": "人员编码" + * }, + * "Partner": { + * "Code": "供应商编码" + * } + * } + * } + * @author chenxi + * @date 2024-04-18 13:28 + */ +@Data +@AllArgsConstructor +public class CreateProcedureVO extends AbstractChanjetContent { + + private ProcedureVO dto; + + @Data + @AllArgsConstructor + public static class ProcedureVO { + + private String Code; + + private String Name; + + private Boolean Disabled; + + /* + * "Workshop": { + "Code": "车间编码" + } + * */ + private Map Workshop; + + } + +} diff --git a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java index f618acc6..7b265be5 100644 --- a/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java +++ b/mes-module-majoys/mes-module-majoys-biz/src/main/java/com/chanko/yunxi/mes/module/biz/manager/ChanjetManager.java @@ -6,15 +6,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.chanjet.openapi.sdk.java.exception.ChanjetApiException; import com.chanko.yunxi.mes.module.biz.chanjet.ChanjetSpi; import com.chanko.yunxi.mes.module.biz.chanjet.vo.CreateDepartmentVO; +import com.chanko.yunxi.mes.module.biz.chanjet.vo.CreateProcedureVO; import com.chanko.yunxi.mes.module.biz.chanjet.vo.QueryPartnerVO; import com.chanko.yunxi.mes.module.biz.chanjet.vo.SimpleChanjetResponse; +import com.chanko.yunxi.mes.module.biz.controller.admin.procedure.vo.ProcedureSaveReqVO; import com.chanko.yunxi.mes.module.biz.controller.admin.workshop.vo.WorkshopSaveReqVO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.customer.CustomerDO; +import com.chanko.yunxi.mes.module.biz.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.supplier.SupplierDO; import com.chanko.yunxi.mes.module.biz.dal.dataobject.workshop.WorkshopDO; import com.chanko.yunxi.mes.module.biz.dal.mysql.customer.CustomerMapper; import com.chanko.yunxi.mes.module.biz.dal.mysql.supplier.SupplierMapper; import com.chanko.yunxi.mes.module.biz.enums.ValidStatusEnum; +import com.chanko.yunxi.mes.module.biz.service.procedure.ProcedureService; import com.chanko.yunxi.mes.module.biz.service.workshop.WorkshopService; import com.chanko.yunxi.mes.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; @@ -49,6 +53,8 @@ public class ChanjetManager { private CustomerMapper customerMapper; @Resource private SupplierMapper supplierMapper; + @Resource + private ProcedureService procedureService; /** * 创建部门 @@ -226,4 +232,35 @@ public class ChanjetManager { } }while (maxTs != null); } + + /** + * 创建工序 + * @param createReqVO + * @return + * @throws ChanjetApiException + */ + public Long createProcedure(ProcedureSaveReqVO createReqVO) throws ChanjetApiException { + Long procedureId = procedureService.createProcedure(createReqVO); + + ProcedureDO procedure = procedureService.getProcedure(procedureId); + String wCode = null; + Long wid = procedure.getWid(); + if(wid != null){ + WorkshopDO workshop = workshopService.getWorkshop(wid); + wCode = workshop.getCode(); + } + + String finalWCode = wCode; + CreateProcedureVO.ProcedureVO dto = new CreateProcedureVO.ProcedureVO(procedure.getCode(), procedure.getName() + , ValidStatusEnum.VALID.getCode() == procedure.getStatus() + , !StringUtils.isEmpty(wCode) ? new HashMap(){{ + put("Code", finalWCode); + }} : null); + SimpleChanjetResponse response = (SimpleChanjetResponse) chanjetSpi.execute(CREATE_PROCEDURE, new CreateProcedureVO(dto)); + if(!response.isSuccess()){ + throw new RuntimeException(response.getMessage()); + } + + return procedureId; + } } diff --git a/mes-ui/mes-ui-admin-vue3/src/api/biz/procedure/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/biz/procedure/index.ts index 3b196786..32b77a2c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/biz/procedure/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/biz/procedure/index.ts @@ -25,7 +25,7 @@ export const getProcedure = async (id: number) => { // 新增工序 export const createProcedure = async (data: ProcedureVO) => { - return await request.post({ url: `/biz/procedure/create`, data }) + return await request.post({ url: `/biz/chanjet/procedure/create`, data }) } // 修改工序