【用友生产加工单】接口调试

dev
siontion 2 months ago
parent 0ac8a9cd3a
commit ab7d68bc5b

@ -261,16 +261,25 @@ public class ChanjetController {
@PreAuthorize("@ss.hasPermission('biz:storage:create')") @PreAuthorize("@ss.hasPermission('biz:storage:create')")
@Scheduled(cron = "0 0 3 * * ?") @Scheduled(cron = "0 0 3 * * ?")
public void synchronizeData() throws ChanjetApiException{ public void synchronizeData() throws ChanjetApiException{
chanjetManager.queryMaterial(); // chanjetManager.queryMaterial();
//查询库存-现存量 // //查询库存-现存量
chanjetSchedule.queryStock(); // chanjetSchedule.queryStock();
// //创建入库 // //创建入库
// chanjetSchedule.createStorageInOrder(); // chanjetSchedule.createStorageInOrder();
}
chanjetManager.createProductionOrder(232L);
}
@PermitAll
@TenantIgnore
@GetMapping("/sendData2TPlus")
@Operation(summary = "定时更新")
@PreAuthorize("@ss.hasPermission('biz:storage:create')")
@Scheduled(cron = "0 0 2 * * ?") @Scheduled(cron = "0 0 2 * * ?")
public void synchronizeData2() throws ChanjetApiException{ public void synchronizeData2() throws ChanjetApiException{
//查询库存-现存量 //查询库存-现存量
// chanjetSchedule.createStorageOut(); // chanjetSchedule.createStorageOut();
chanjetManager.createProductionOrder(232L);
} }
} }

@ -31,10 +31,13 @@ public enum ChanjetInterfaceEnum {
CREATE_STOCK_OUT_ORDER("/tplus/api/v2/materialDispatch/Create", "创建出库单", CreateStockOutOrderReqVO.class, ResultResVO.class), CREATE_STOCK_OUT_ORDER("/tplus/api/v2/materialDispatch/Create", "创建出库单", CreateStockOutOrderReqVO.class, ResultResVO.class),
CREATE_PRODUCTION_ORDER("/tplus/api/v2/ManufactureOrderOpenApi/Create", "创建生产加工单", CreateProductionOrderReqVO.class, ResultResVO.class), CREATE_PRODUCTION_ORDER("/tplus/api/v2/ManufactureOrderOpenApi/Create", "创建生产加工单", CreateProductionOrderReqVO.class, ResultResVO.class),
UPDATE_PRODUCTION_ORDER("/tplus/api/v2/ManufactureOrderOpenApi/Update", "创建生产加工单", CreateProductionOrderReqVO.class, ResultResVO.class),
AUDIT_PRODUCTION_ORDER("/tplus/api/v2/ManufactureOrderOpenApi/Audit", "审核生产加工单", AuditProductionOrderReqVO.class, ResultResVO.class), AUDIT_PRODUCTION_ORDER("/tplus/api/v2/ManufactureOrderOpenApi/Audit", "审核生产加工单", AuditProductionOrderReqVO.class, ResultResVO.class),
UN_AUDIT_PRODUCTION_ORDER("/tplus/api/v2/ManufactureOrderOpenApi/UnAudit", "弃审生产加工单", AuditProductionOrderReqVO.class, ResultResVO.class),
QUERY_PRODUCTION_ORDER_LIST("/tplus/api/v2/ManufactureOrderOpenApi/FindVoucherList", "查询生产加工单", ListProductionOrderReqVO.class, ListResultResVO.class), QUERY_PRODUCTION_ORDER_LIST("/tplus/api/v2/ManufactureOrderOpenApi/FindVoucherList", "查询生产加工单", ListProductionOrderReqVO.class, ListResultResVO.class),
CREATE_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Create", "创建工序汇报单", CreateReportReqVO.class, ResultResVO.class), CREATE_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Create", "创建工序汇报单", CreateReportReqVO.class, ResultResVO.class),
UPDATE_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Update", "修改工序汇报单", CreateReportReqVO.class, ResultResVO.class),
AUDIT_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Audit", "审核工序汇报单", CreateReportReqVO.class, ResultResVO.class), AUDIT_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Audit", "审核工序汇报单", CreateReportReqVO.class, ResultResVO.class),
DELETE_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Delete", "删除工序汇报单", DeleteReportReqVO.class, ResultResVO.class), DELETE_REPORT("/tplus/api/v2/ManufactureReportOpenApi/Delete", "删除工序汇报单", DeleteReportReqVO.class, ResultResVO.class),
; ;

@ -33,6 +33,7 @@ public class CreateProductionOrderDto {
private List<ManufactureOrderDetails> ManufactureOrderDetails; private List<ManufactureOrderDetails> ManufactureOrderDetails;
private String Memo; private String Memo;
private String ExternalCode; private String ExternalCode;
private Integer IsStartDispatching; private Boolean IsStartDispatching;
private String Ts;
} }

@ -200,6 +200,11 @@ public class ProjectOrderDO extends BaseDO {
private Integer packageStatus; private Integer packageStatus;
/**
*
*/
private String ts;
/** /**
* *
*/ */

@ -1451,14 +1451,28 @@ public class ChanjetManager {
CreateProductionOrderDto dto = new CreateProductionOrderDto(); CreateProductionOrderDto dto = new CreateProductionOrderDto();
ArrayList<ManufactureOrderDetails> detailList = new ArrayList<>(16); ArrayList<ManufactureOrderDetails> detailList = new ArrayList<>(16);
String externalCode = aDo.getCode()+"-"+subDOList.stream().sorted(Comparator.comparing(ProjectOrderSubDO::getId)).map(subDO -> String.valueOf(subDO.getId())).collect(Collectors.joining("-")); // String externalCode = aDo.getCode()+"-"+subDOList.stream().sorted(Comparator.comparing(ProjectOrderSubDO::getId)).map(subDO -> String.valueOf(subDO.getId())).collect(Collectors.joining("-"));
String externalCode = aDo.getCode()+"-"+aDo.getId().toString();
dto.setExternalCode(externalCode) dto.setExternalCode(externalCode)
.setCode(aDo.getCode())
// 任意车间 // 任意车间
.setDepartment(new Department(workshopDO.getCode())) .setDepartment(new Department(workshopDO.getCode()))
.setVoucherDate(dateFormat) .setVoucherDate(dateFormat)
.setIsStartDispatching(0)//禁用派工 .setIsStartDispatching(false)//禁用派工
.setManufactureOrderDetails(detailList); .setManufactureOrderDetails(detailList);
// ManufactureOrderDetails detail = new ManufactureOrderDetails();
// DictDataDO dictDataDO = dictDataMapper.selectByDictTypeAndValue(DictTypeConstants.MATERIAL_UNIT.getCode(), subDOList.get(0).getUnit());
//
// detail.setInventory(new Inventory(subDOList.get(0).getProjectSubCode()))
// .setUnit(new Unit(dictDataDO.getLabel()))
// .setQuantity(subDOList.get(0).getAmount())
// .setPreStartDate(aDo.getProjectStartTime().format(DateTimeFormatter.ISO_DATE))
// .setPreFinishDate(aDo.getProjectEndTime().format(DateTimeFormatter.ISO_DATE))
// ;
// detailList.add(detail);
subDOList.forEach(subDO -> { subDOList.forEach(subDO -> {
ManufactureOrderDetails detail = new ManufactureOrderDetails(); ManufactureOrderDetails detail = new ManufactureOrderDetails();
DictDataDO dictDataDO = dictDataMapper.selectByDictTypeAndValue(DictTypeConstants.MATERIAL_UNIT.getCode(), subDO.getUnit()); DictDataDO dictDataDO = dictDataMapper.selectByDictTypeAndValue(DictTypeConstants.MATERIAL_UNIT.getCode(), subDO.getUnit());
@ -1473,7 +1487,21 @@ public class ChanjetManager {
}); });
// 设置为“是”,打开所有与用友通信的接口 // 设置为“是”,打开所有与用友通信的接口
if(getSystemParameters()) { if(getSystemParameters()) {
CommonResult<ResultResVO> result = chanjetSpi.invoke(CREATE_PRODUCTION_ORDER, new CreateProductionOrderReqVO(dto), ResultResVO.class); CommonResult<ResultResVO> result = null;
if(aDo.getTs()==null || aDo.getTs().isEmpty()){
result = chanjetSpi.invoke(CREATE_PRODUCTION_ORDER, new CreateProductionOrderReqVO(dto), ResultResVO.class);
}else{
//生产加工单修改前要先弃审
CommonResult<ResultResVO> result3 = chanjetSpi.invoke(UN_AUDIT_PRODUCTION_ORDER, new QuerySaleOrderReqVO(new QuerySaleOrderReqVO.SaleOrderParamVO(aDo.getCode())), ResultResVO.class);
if (!result3.isSuccess() || !result3.getData().isSuccess()) {
throw new RuntimeException(result3.getMsg());
}
dto.setTs(aDo.getTs());
result = chanjetSpi.invoke(UPDATE_PRODUCTION_ORDER, new CreateProductionOrderReqVO(dto), ResultResVO.class);
}
// CommonResult<ResultResVO> result = chanjetSpi.invoke(UPDATE_PRODUCTION_ORDER, new CreateProductionOrderReqVO(dto), ResultResVO.class);
if (!result.isSuccess() || !result.getData().isSuccess()) { if (!result.isSuccess() || !result.getData().isSuccess()) {
throw exception(CALL_API_ERROR); throw exception(CALL_API_ERROR);
} }
@ -1486,6 +1514,9 @@ public class ChanjetManager {
Map<String, String> rMap = JSON.parseObject(JSON.toJSONString(result.getData().getData()), new TypeReference<Map<String, String>>() {{ Map<String, String> rMap = JSON.parseObject(JSON.toJSONString(result.getData().getData()), new TypeReference<Map<String, String>>() {{
}}); }});
aDo.setTs(rMap.get("Ts").toString());
projectOrderMapper.updateById(aDo);
// 查询报工单数据 将id回写至子项目表 // 查询报工单数据 将id回写至子项目表
Map<String, List<ProjectOrderSubDO>> subGroupByProjectSubCode = subDOList.stream().collect(Collectors.groupingBy(ProjectOrderSubDO::getProjectSubCode)); Map<String, List<ProjectOrderSubDO>> subGroupByProjectSubCode = subDOList.stream().collect(Collectors.groupingBy(ProjectOrderSubDO::getProjectSubCode));
CommonResult<ListResultResVO> listResult = chanjetSpi.invoke(QUERY_PRODUCTION_ORDER_LIST, new ListProductionOrderReqVO(rMap.get("Code")), ListResultResVO.class); CommonResult<ListResultResVO> listResult = chanjetSpi.invoke(QUERY_PRODUCTION_ORDER_LIST, new ListProductionOrderReqVO(rMap.get("Code")), ListResultResVO.class);

@ -16,11 +16,18 @@ import java.util.List;
public interface DictDataMapper extends BaseMapperX<DictDataDO> { public interface DictDataMapper extends BaseMapperX<DictDataDO> {
default DictDataDO selectByDictTypeAndValue(String dictType, String value) { default DictDataDO selectByDictTypeAndValue(String dictType, String value) {
return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getValue, value); return selectOne(new LambdaQueryWrapper<DictDataDO>(){{
eq(DictDataDO::getDictType,dictType);
eq(DictDataDO::getValue,value).last("LIMIT 1");
}});
} }
default DictDataDO selectByDictTypeAndLabel(String dictType, String label) { default DictDataDO selectByDictTypeAndLabel(String dictType, String label) {
return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getLabel, label); // return selectOne(DictDataDO::getDictType, dictType, DictDataDO::getLabel, label);
return selectOne(new LambdaQueryWrapper<DictDataDO>(){{
eq(DictDataDO::getDictType,dictType);
eq(DictDataDO::getLabel,label).last("LIMIT 1");
}});
} }
default List<DictDataDO> selectByDictTypeAndValues(String dictType, Collection<String> values) { default List<DictDataDO> selectByDictTypeAndValues(String dictType, Collection<String> values) {

@ -669,3 +669,7 @@ CREATE TABLE `base_customer_feedback` (
alter table wms_storage_check_mat Modify COLUMN rg_id bigint(20) default null COMMENT '库区 Id对应 wms_rg 表中的Id'; alter table wms_storage_check_mat Modify COLUMN rg_id bigint(20) default null COMMENT '库区 Id对应 wms_rg 表中的Id';
alter table wms_storage_check_mat Modify COLUMN pn_id bigint(20) default null COMMENT '库区 Id对应 wms_rg 表中的Id'; alter table wms_storage_check_mat Modify COLUMN pn_id bigint(20) default null COMMENT '库区 Id对应 wms_rg 表中的Id';
//================================20240816====================================================================
alter table project_sale_order ADD COLUMN ts varchar(32) default null COMMENT '用友时间戳';

Loading…
Cancel
Save