【需求】创建工序接口

dev
zengchenxi 6 months ago
parent 4065e91cf6
commit 7d63d0e7c2

@ -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<Long> createProcedure(@Valid @RequestBody ProcedureSaveReqVO createReqVO) throws ChanjetApiException {
return success(chanjetManager.createProcedure(createReqVO));
}
}

@ -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;

@ -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": "加工方式编码<span style=\"color: rgb(23, 43, 77);\">HomeMade自制</span><span style=\"color: rgba(0, 0, 0, 0.85);\"><span class=\"ql-cursor\"></span>OutSource委外</span>"
* },
* "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<String, String> Workshop;
}
}

@ -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<String, String>(){{
put("Code", finalWCode);
}} : null);
SimpleChanjetResponse response = (SimpleChanjetResponse) chanjetSpi.execute(CREATE_PROCEDURE, new CreateProcedureVO(dto));
if(!response.isSuccess()){
throw new RuntimeException(response.getMessage());
}
return procedureId;
}
}

@ -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 })
}
// 修改工序

Loading…
Cancel
Save