Merge remote-tracking branch 'origin/dev' into test
This commit is contained in:
@@ -39,9 +39,9 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
@Tag(name = "管理后台 - 部门与实例关联")
|
||||
@RestController
|
||||
@RequestMapping("/bse/department-instance-relativity")
|
||||
@RequestMapping("/base/department-instance-relativity")
|
||||
@Validated
|
||||
@FileUploadController(source = "bse.departmentinstancerelativity")
|
||||
@FileUploadController(source = "base.departmentinstancerelativity")
|
||||
public class DepartmentInstanceRelativityController extends AbstractFileUploadController implements BusinessControllerMarker{
|
||||
|
||||
static {
|
||||
@@ -56,14 +56,14 @@ public class DepartmentInstanceRelativityController extends AbstractFileUploadCo
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建部门与实例关联")
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:create')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:create')")
|
||||
public CommonResult<DepartmentInstanceRelativityRespVO> createDepartmentInstanceRelativity(@Valid @RequestBody DepartmentInstanceRelativitySaveReqVO createReqVO) {
|
||||
return success(departmentInstanceRelativityService.createDepartmentInstanceRelativity(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新部门与实例关联")
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:update')")
|
||||
public CommonResult<Boolean> updateDepartmentInstanceRelativity(@Valid @RequestBody DepartmentInstanceRelativitySaveReqVO updateReqVO) {
|
||||
departmentInstanceRelativityService.updateDepartmentInstanceRelativity(updateReqVO);
|
||||
return success(true);
|
||||
@@ -72,7 +72,7 @@ public class DepartmentInstanceRelativityController extends AbstractFileUploadCo
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除部门与实例关联")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:delete')")
|
||||
public CommonResult<Boolean> deleteDepartmentInstanceRelativity(@RequestParam("id") String id) {
|
||||
departmentInstanceRelativityService.deleteDepartmentInstanceRelativity(id);
|
||||
return success(true);
|
||||
@@ -81,7 +81,7 @@ public class DepartmentInstanceRelativityController extends AbstractFileUploadCo
|
||||
@DeleteMapping("/delete-list")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Operation(summary = "批量删除部门与实例关联")
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:delete')")
|
||||
public CommonResult<Boolean> deleteDepartmentInstanceRelativityList(@RequestBody BatchDeleteReqVO req) {
|
||||
departmentInstanceRelativityService.deleteDepartmentInstanceRelativityListByIds(req.getIds());
|
||||
return success(true);
|
||||
@@ -90,7 +90,7 @@ public class DepartmentInstanceRelativityController extends AbstractFileUploadCo
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得部门与实例关联")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:query')")
|
||||
public CommonResult<DepartmentInstanceRelativityRespVO> getDepartmentInstanceRelativity(@RequestParam("id") String id) {
|
||||
DepartmentInstanceRelativityDO departmentInstanceRelativity = departmentInstanceRelativityService.getDepartmentInstanceRelativity(id);
|
||||
return success(BeanUtils.toBean(departmentInstanceRelativity, DepartmentInstanceRelativityRespVO.class));
|
||||
@@ -98,7 +98,7 @@ public class DepartmentInstanceRelativityController extends AbstractFileUploadCo
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得部门与实例关联分页")
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:query')")
|
||||
public CommonResult<PageResult<DepartmentInstanceRelativityRespVO>> getDepartmentInstanceRelativityPage(@Valid DepartmentInstanceRelativityPageReqVO pageReqVO) {
|
||||
PageResult<DepartmentInstanceRelativityDO> pageResult = departmentInstanceRelativityService.getDepartmentInstanceRelativityPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, DepartmentInstanceRelativityRespVO.class));
|
||||
@@ -106,7 +106,7 @@ public class DepartmentInstanceRelativityController extends AbstractFileUploadCo
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出部门与实例关联 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:export')")
|
||||
@PreAuthorize("@ss.hasPermission('base:department-instance-relativity:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportDepartmentInstanceRelativityExcel(@Valid DepartmentInstanceRelativityPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
|
||||
@@ -48,7 +48,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
@RestController
|
||||
@RequestMapping("/base/template-instance")
|
||||
@Validated
|
||||
@FileUploadController(source = "bse.templateinstance")
|
||||
@FileUploadController(source = "base.templateinstance")
|
||||
public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
|
||||
static {
|
||||
@@ -70,14 +70,14 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模板实例")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:create')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:create')")
|
||||
public CommonResult<TemplateInstanceRespVO> createTemplateInstance(@Valid @RequestBody TemplateInstanceSaveReqVO createReqVO) {
|
||||
return success(templateInstanceService.createTemplateInstance(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模板实例")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:update')")
|
||||
public CommonResult<Boolean> updateTemplateInstance(@Valid @RequestBody TemplateInstanceSaveReqVO updateReqVO) {
|
||||
templateInstanceService.updateTemplateInstance(updateReqVO);
|
||||
return success(true);
|
||||
@@ -86,7 +86,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模板实例")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:delete')")
|
||||
public CommonResult<Boolean> deleteTemplateInstance(@RequestParam("id") Long id) {
|
||||
templateInstanceService.deleteTemplateInstance(id);
|
||||
return success(true);
|
||||
@@ -95,7 +95,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
@DeleteMapping("/delete-list")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Operation(summary = "批量删除模板实例")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:delete')")
|
||||
public CommonResult<Boolean> deleteTemplateInstanceList(@RequestBody BatchDeleteReqVO req) {
|
||||
templateInstanceService.deleteTemplateInstanceListByIds(req.getIds());
|
||||
return success(true);
|
||||
@@ -104,7 +104,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得模板实例")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:query')")
|
||||
public CommonResult<TemplateInstanceRespVO> getTemplateInstance(@Valid @NotEmpty(message = "编号不能为空") @RequestParam("id") String id) {
|
||||
TemplateInstanceDO templateInstance = templateInstanceService.getTemplateInstance(Long.valueOf(id));
|
||||
TemplateInstanceRespVO templateInstanceRespVO = BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class);
|
||||
@@ -119,7 +119,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模板实例分页")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:query')")
|
||||
public CommonResult<PageResult<TemplateInstanceRespVO>> getTemplateInstancePage(@Valid TemplateInstancePageReqVO pageReqVO) {
|
||||
PageResult<TemplateInstanceDO> pageResult = templateInstanceService.getTemplateInstancePage(pageReqVO);
|
||||
PageResult<TemplateInstanceRespVO> templateInstanceRespVOPageResult = BeanUtils.toBean(pageResult, TemplateInstanceRespVO.class);
|
||||
@@ -133,7 +133,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出模板实例 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:export')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportTemplateInstanceExcel(@Valid TemplateInstancePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
@@ -147,7 +147,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
//模版实例发布
|
||||
@PostMapping("/publish-batch")
|
||||
@Operation(summary = "模版实例发布")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:publish')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:publish')")
|
||||
public CommonResult<Boolean> publishTemplateInstance(@Valid @RequestBody List<PublishTemplateInstanceReqVO> publishReqVOS) {
|
||||
templateInstanceService.publishTemplateInstance(publishReqVOS);
|
||||
return success(true);
|
||||
@@ -156,7 +156,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
//不显示停用状态的查询接口
|
||||
@GetMapping("/list-excluding-disabled")
|
||||
@Operation(summary = "获得模板实例")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:query')")
|
||||
public CommonResult<PageResult<TemplateInstanceRespVO>> listExcludingDisabled(@Valid TemplateInstancePageReqVO pageReqVO) {
|
||||
PageResult<TemplateInstanceRespVO> templateInstanceRespVOPageResult = BeanUtils.toBean(templateInstanceService.listExcludingDisabled(pageReqVO), TemplateInstanceRespVO.class);
|
||||
templateInstanceRespVOPageResult.getList().forEach(
|
||||
@@ -172,7 +172,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
//停用和启用接口
|
||||
@PostMapping("/disable-enable")
|
||||
@Operation(summary = "实例停用和启用接口", description = "实例停用和启用接口")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:disable-enable')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:disable-enable')")
|
||||
public CommonResult<Boolean> setDisableOrEnable(@Valid @RequestBody DisableEnableReqVO reqVO) {
|
||||
templateInstanceService.setDisableOrEnable(reqVO);
|
||||
return success(true);
|
||||
@@ -188,7 +188,7 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
//创建版本
|
||||
@PostMapping("/create-version")
|
||||
@Operation(summary = "创建版本")
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:create-version')")
|
||||
@PreAuthorize("@ss.hasPermission('base:template-instance:create-version')")
|
||||
public CommonResult<TemplateInstanceRespVO> createVersion(@Valid @NotEmpty(message = "模版实例id不能为空") String id) {
|
||||
return success(templateInstanceService.createVersion(id));
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmpItmPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
|
||||
import com.zt.plat.module.base.service.tmpltp.TmplItmService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -18,6 +19,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -88,4 +90,13 @@ public class TmplItmController {
|
||||
PageResult<TmplItmDO> pageResult = tmplItmService.pageTmplItm(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, TmplItmRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/update-sts")
|
||||
@Operation(summary = "更新模板条款状态")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp-fld:update')")
|
||||
public CommonResult<Boolean> updateTmplTpSts(@RequestBody UpdateStsVO updateStsVO) {
|
||||
tmplItmService.updateTmplTpSts(updateStsVO);
|
||||
return success(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.PARAMS_IS_NULL_
|
||||
@RestController
|
||||
@RequestMapping("/base/tmpl-tp")
|
||||
@Validated
|
||||
@FileUploadController(source = "bse.tmpltp")
|
||||
@FileUploadController(source = "base.tmpltp")
|
||||
public class TmplTpController extends AbstractFileUploadController implements BusinessControllerMarker{
|
||||
|
||||
@Resource
|
||||
@@ -51,14 +51,14 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模板分类")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:create')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:create')")
|
||||
public CommonResult<TmplTpRespVO> createTmplTp(@Valid @RequestBody TmplTpSaveReqVO createReqVO) {
|
||||
return success(tmplTpService.createTmplTp(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模板分类")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:update')")
|
||||
public CommonResult<Boolean> updateTmplTp(@Valid @RequestBody TmplTpSaveReqVO updateReqVO) {
|
||||
tmplTpService.updateTmplTp(updateReqVO);
|
||||
return success(true);
|
||||
@@ -67,7 +67,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模板分类")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:delete')")
|
||||
public CommonResult<Boolean> deleteTmplTp(@RequestBody BatchDeleteReqVO req) {
|
||||
tmplTpService.deleteTmplTp(req.getIds());
|
||||
return success(true);
|
||||
@@ -76,7 +76,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
@DeleteMapping("/delete-list")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Operation(summary = "批量删除模板分类")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:delete')")
|
||||
public CommonResult<Boolean> deleteTmplTpList(@RequestBody BatchDeleteReqVO req) {
|
||||
tmplTpService.deleteTmplTpListByIds(req.getIds());
|
||||
return success(true);
|
||||
@@ -85,7 +85,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得模板分类")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:query')")
|
||||
public CommonResult<TmplTpRespVO> getTmplTp(@Valid @NotEmpty(message = "编号不能为空") @RequestParam("id") String id) {
|
||||
TmplTpDO tmplTp = tmplTpService.getTmplTp(Long.valueOf(id));
|
||||
return success(BeanUtils.toBean(tmplTp, TmplTpRespVO.class));
|
||||
@@ -93,7 +93,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模板分类分页")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:query')")
|
||||
public CommonResult<PageResult<TmplTpRespVO>> getTmplTpPage(@Valid TmplTpPageReqVO pageReqVO) {
|
||||
PageResult<TmplTpDO> pageResult = tmplTpService.getTmplTpPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, TmplTpRespVO.class));
|
||||
@@ -101,7 +101,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出模板分类 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:export')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportTmplTpExcel(@Valid TmplTpPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
@@ -114,7 +114,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
//字段和条款回显
|
||||
@GetMapping("/field-and-clause")
|
||||
@Operation(summary = "获得字段和条款",description = "字段和条款回显,传入模版分类的id")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:query')")
|
||||
public CommonResult<Map<String, Object>> getFieldAndClause(@Valid @NotEmpty(message = "编号不能为空")@RequestParam("id") String id) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("field", tmplTpService.getField(Long.valueOf(id)));
|
||||
@@ -132,7 +132,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
//更新类型状态
|
||||
@PutMapping("/updateStatus")
|
||||
@Operation(summary = "更新模板类型状态")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:update')")
|
||||
public CommonResult<Boolean> updateStatus(@RequestBody Map<String,Object> params) {
|
||||
if (params == null){
|
||||
throw exception(PARAMS_IS_NULL_OR_ERR);
|
||||
@@ -147,7 +147,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
//表单预览
|
||||
// @GetMapping("/preview")
|
||||
// @Operation(summary = "表单预览",description = "传入模版分类的id")
|
||||
// @PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||
// @PreAuthorize("@ss.hasPermission('base:tmpl-tp:query')")
|
||||
// public CommonResult< List<TmplFldRespVO>> preview(@Valid @RequestParam("id") Long id) {
|
||||
// List<TmplFldRespVO> field = tmplTpService.getField(id);
|
||||
// return success(field);
|
||||
@@ -156,7 +156,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
// 字段编辑新增或者删除
|
||||
@PostMapping("/field-edit")
|
||||
@Operation(summary = "字段编辑新增或者删除")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:update')")
|
||||
public CommonResult<Boolean> fieldEdit(@Valid @RequestBody TmplTpEditOrDeleteReqVO reqVO) {
|
||||
tmplTpService.fieldEdit(reqVO);
|
||||
return success(true);
|
||||
@@ -164,7 +164,7 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
||||
|
||||
@PostMapping("/ltm-edit")
|
||||
@Operation(summary = "条款编辑新增或者删除")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp:update')")
|
||||
public CommonResult<Boolean> ltmEdit(@Valid @RequestBody TmplTpEditOrDeleteReqVO reqVO) {
|
||||
tmplTpService.ltmEdit(reqVO);
|
||||
return success(true);
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplTpFldSaveReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpFldDO;
|
||||
import com.zt.plat.module.base.service.tmpltp.TmplTpFldService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -27,42 +28,49 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
@RestController
|
||||
@RequestMapping("/base/tmpl-fld")
|
||||
@Validated
|
||||
@FileUploadController(source = "bse.tmplfld")
|
||||
@FileUploadController(source = "base.tmplfld")
|
||||
@RequiredArgsConstructor
|
||||
public class TmplTpFldController {
|
||||
private final TmplTpFldService tmplTpFldService;
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模板字段")
|
||||
// @PreAuthorize("@ss.hasPermission('bse:tmpl-tp-fld:create')")
|
||||
// @PreAuthorize("@ss.hasPermission('base:tmpl-tp-fld:create')")
|
||||
public CommonResult<TmplFldRespVO> createTmplFld(@Valid @RequestBody TmplTpFldSaveReqVO tmplTpFldSaveReqVO) {
|
||||
return success(tmplTpFldService.createTmplFld(tmplTpFldSaveReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模板字段")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp-fld:update')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp-fld:update')")
|
||||
public CommonResult<Boolean> updateTmplTp(@Valid @RequestBody TmplTpFldSaveReqVO updateReqVO) {
|
||||
tmplTpFldService.updateTmplFld(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模板字段")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp-fld:delete')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp-fld:delete')")
|
||||
public CommonResult<Boolean> deleteTmplTp(@RequestBody BatchDeleteReqVO req) {
|
||||
tmplTpFldService.deleteTmplTpByIds(req.getIds());
|
||||
return success(true);
|
||||
}
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模板字段列表")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp-fld:list')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp-fld:list')")
|
||||
public CommonResult<PageResult<TmplFldRespVO>> getTmplTpList( @Valid TmplFldPageReqVO pageReqVO) {
|
||||
PageResult<TmplTpFldDO> pageResult = tmplTpFldService.tmplTpFldPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, TmplFldRespVO.class));
|
||||
}
|
||||
@GetMapping("/class-fld")
|
||||
@Operation(summary = "获得类固定模板字段列表", description = "clazz为VO类类名")
|
||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp-fld:list')")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp-fld:list')")
|
||||
public CommonResult<List<Map<String, Object>>> getTmplTpListByClass(String clazz) {
|
||||
return success(tmplTpFldService.getTmplTpListByClass(clazz));
|
||||
}
|
||||
@PutMapping("/update-sts")
|
||||
@Operation(summary = "更新模板字段状态")
|
||||
@PreAuthorize("@ss.hasPermission('base:tmpl-tp-fld:update')")
|
||||
public CommonResult<Boolean> updateTmplTpSts(@RequestBody UpdateStsVO updateStsVO) {
|
||||
tmplTpFldService.updateTmplTpSts(updateStsVO);
|
||||
return success(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,4 +40,7 @@ public class TmplFldRespVO {
|
||||
@ExcelProperty("是否必填")
|
||||
private String isMust;
|
||||
|
||||
@Schema(description = "字段状态", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("字段状态")
|
||||
private String sts;
|
||||
}
|
||||
|
||||
@@ -44,4 +44,9 @@ public class TmplItmRespVO {
|
||||
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建人")
|
||||
private String creator;
|
||||
|
||||
@Schema(description = "字段状态", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("字段状态")
|
||||
private String sts;
|
||||
|
||||
}
|
||||
|
||||
@@ -23,4 +23,7 @@ public class TmplItmSaveReqVO {
|
||||
|
||||
@Schema(description = "条款值", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
|
||||
private String itmVal;
|
||||
|
||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "启用 or 禁用")
|
||||
private String sts;
|
||||
}
|
||||
|
||||
@@ -22,4 +22,7 @@ public class TmplTpFldSaveReqVO {
|
||||
@Schema(description = "是否必填", requiredMode = Schema.RequiredMode.REQUIRED, example = "Y or N")
|
||||
private String isMust;
|
||||
|
||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "启用 or 禁用")
|
||||
private String sts;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.zt.plat.module.base.controller.admin.templtp.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Schema(description = "管理后台 - 更新状态 Request VO")
|
||||
@Validated
|
||||
public class UpdateStsVO {
|
||||
@Schema(description = "ids", requiredMode = Schema.RequiredMode.REQUIRED, example = "['id1','id2']")
|
||||
@NotEmpty(message = "ids为空")
|
||||
private List<String> ids;
|
||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "启用和禁用或者其他")
|
||||
@NotEmpty(message = "状态为空")
|
||||
private String sts;
|
||||
}
|
||||
@@ -29,4 +29,7 @@ public class TmplItmDO extends BusinessBaseDO {
|
||||
@TableField("ITM_VAL")
|
||||
private String itmVal;
|
||||
|
||||
@TableField("STS")
|
||||
private String sts;
|
||||
|
||||
}
|
||||
|
||||
@@ -73,4 +73,7 @@ public class TmplTpFldDO extends BusinessBaseDO { // 继承业务基类,自动
|
||||
*/
|
||||
@TableField("ORGN_TP")
|
||||
private String orgnTp;
|
||||
|
||||
@TableField("STS")
|
||||
private String sts;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmpItmPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.validation.Valid;
|
||||
@@ -46,4 +47,10 @@ public interface TmplItmService extends IService<TmplItmDO> {
|
||||
* @return 模板条目
|
||||
*/
|
||||
List<TmplItmDO> listTmplItmByIds(@Valid @NotEmpty(message = "ids不能为空") List<String> ids);
|
||||
/**
|
||||
* 更新模板条目状态
|
||||
*
|
||||
* @param updateStsVO 更新信息
|
||||
*/
|
||||
void updateTmplTpSts(UpdateStsVO updateStsVO);
|
||||
}
|
||||
|
||||
@@ -2,15 +2,19 @@ package com.zt.plat.module.base.service.tmpltp;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmpItmPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpFldDO;
|
||||
import com.zt.plat.module.base.dal.mysql.tmpltp.TmplItmMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -23,6 +27,7 @@ import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.TMPL_ITM_NOT_EX
|
||||
|
||||
@Service
|
||||
@Validated
|
||||
@Slf4j
|
||||
public class TmplItmServiceImpl extends ServiceImpl<TmplItmMapper, TmplItmDO> implements TmplItmService{
|
||||
@Override
|
||||
public TmplItmRespVO createTmplItm(TmplItmSaveReqVO tmplItmSaveReqVO) {
|
||||
@@ -76,4 +81,10 @@ public class TmplItmServiceImpl extends ServiceImpl<TmplItmMapper, TmplItmDO> im
|
||||
public List<TmplItmDO> listTmplItmByIds(List<String> ids) {
|
||||
return baseMapper.selectByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTmplTpSts(UpdateStsVO updateStsVO) {
|
||||
log.info("更新模板字段状态,参数:【{}】", updateStsVO);
|
||||
baseMapper.update(Wrappers.<TmplItmDO>lambdaUpdate().set(TmplItmDO::getSts, updateStsVO.getSts()).in(TmplItmDO::getId, updateStsVO.getIds()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplTpFldSaveReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpFldDO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.validation.Valid;
|
||||
@@ -51,5 +52,7 @@ public interface TmplTpFldService extends IService<TmplTpFldDO> {
|
||||
*/
|
||||
List<TmplTpFldDO> getTmplTpListByValKeys(List< String> valNames);
|
||||
|
||||
void updateTmplTpSts(UpdateStsVO updateStsVO);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplTpFldSaveReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.UpdateStsVO;
|
||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpFldDO;
|
||||
import com.zt.plat.module.base.dal.mysql.tmpltp.TmplTpFldMapper;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
@@ -38,6 +39,7 @@ public class TmplTpFldServiceImpl extends ServiceImpl<TmplTpFldMapper, TmplTpFld
|
||||
public TmplFldRespVO createTmplFld(TmplTpFldSaveReqVO tmplTpFldSaveReqVO) {
|
||||
TmplTpFldDO tmplTpFldDO = BeanUtils.toBean(tmplTpFldSaveReqVO, TmplTpFldDO.class);
|
||||
validateTmplFldCodeExists(tmplTpFldSaveReqVO.getFldKy());
|
||||
tmplTpFldDO.setSts("启用");
|
||||
baseMapper.insert(tmplTpFldDO);
|
||||
log.info("创建模板字段成功,模板字段信息:【{}】", tmplTpFldDO);
|
||||
return BeanUtils.toBean(tmplTpFldDO, TmplFldRespVO.class);
|
||||
@@ -96,4 +98,10 @@ public class TmplTpFldServiceImpl extends ServiceImpl<TmplTpFldMapper, TmplTpFld
|
||||
public List<TmplTpFldDO> getTmplTpListByValKeys(List<String> valNames) {
|
||||
return baseMapper.selectList(new LambdaQueryWrapper<TmplTpFldDO>().in(TmplTpFldDO::getFldKy, valNames));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTmplTpSts(UpdateStsVO updateStsVO) {
|
||||
log.info("更新模板字段状态,参数:【{}】", updateStsVO);
|
||||
baseMapper.update(Wrappers.<TmplTpFldDO>lambdaUpdate().set(TmplTpFldDO::getSts, updateStsVO.getSts()).in(TmplTpFldDO::getId, updateStsVO.getIds()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,13 @@ import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.module.contractorder.api.dto.PurchaseOrderWithDetailsDTO;
|
||||
import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
|
||||
import com.zt.plat.module.contractorder.api.vo.contract.ContractSaveReqVO;
|
||||
import com.zt.plat.module.contractorder.api.vo.contract.international.ContractRequest;
|
||||
import com.zt.plat.module.contractorder.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -31,10 +33,18 @@ public interface ContractApi {
|
||||
CommonResult<Boolean> updateOrderStatus(@RequestParam("orderId") Long orderId, @RequestParam("status") String status);
|
||||
|
||||
@PostMapping(PREFIX + "/order-by-order-no")
|
||||
@Operation(summary = "更新订单状态", description = "通过订单编号获取订单信息")
|
||||
@Operation(summary = "通过订单编号获取订单信息", description = "通过订单编号获取订单信息")
|
||||
CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderNo(@RequestBody List<String> orderNoS);
|
||||
|
||||
@PostMapping(PREFIX + "/create")
|
||||
@Operation(summary = "创建合同")
|
||||
CommonResult<Boolean> create(@Valid @RequestBody ContractSaveReqVO reqVO);
|
||||
|
||||
@PostMapping(PREFIX + "/order-by-order-id")
|
||||
@Operation(summary = "通过订单id获取订单信息", description = "通过订单编号获取订单信息")
|
||||
CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderIds(@RequestBody List<Long> ids);
|
||||
|
||||
@PostMapping(PREFIX + "/send")
|
||||
@Operation(summary = "国贸2.0系统创建合同调用")
|
||||
CommonResult<Boolean> push(@Valid @RequestBody ContractRequest reqVO);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public class PrchOrdDtlDTO {
|
||||
* 税码(字典: PRCH_TAX);推送ERP
|
||||
*/
|
||||
|
||||
private BigDecimal taxNum;
|
||||
private String taxNum;
|
||||
/**
|
||||
* 是否基于GR的发票校验;推送ERP
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 收付款账号
|
||||
*/
|
||||
@Data
|
||||
public class Account {
|
||||
private String accountSourceId; // 收付款账号行号
|
||||
private String accountSourceCode; // 收付款账号编号
|
||||
private String accountType; // 类别
|
||||
private String accountName; // 名称
|
||||
private String bankAccountName; // 开户银行
|
||||
private String bankAccountNo; // 银行账号
|
||||
private String identificationNumber; // 纳税人识别号
|
||||
private String addressPhoneTel; // 地址、电话
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 合同请求主实体
|
||||
*/
|
||||
@Data
|
||||
public class ContractRequest {
|
||||
|
||||
// 基础信息
|
||||
private String operateFlag; // 操作标志
|
||||
private String bookId; // 账套代码
|
||||
private String orgId; // 组织ID
|
||||
private String contractId; // 合同唯一键
|
||||
private String operateType; // 合同操作类型 (新增, 变更, 修正)
|
||||
private String contractCode; // 合同编号
|
||||
private String contractBusinessNo; // 业务合同编号
|
||||
private String contractExternalNo; // 对方合同号
|
||||
private BigDecimal contractVersion; // 系统合同版本号
|
||||
private String contractStatus; // 合同状态代码 (值集: 40-签约)
|
||||
private String contractName; // 合同名称
|
||||
private String contractType; // 合同类型 (货运;货代;仓储;保险)
|
||||
private String textType; // 是否非标准合同文本
|
||||
@DateTimeFormat(pattern = "yyyyMMdd")
|
||||
private Date contractStartDate; // 合同有效期起 (格式: yyyyMMdd)
|
||||
@DateTimeFormat(pattern = "yyyyMMdd")
|
||||
private Date contractEndDate; // 合同有效期止 (格式: yyyyMMdd)
|
||||
private String priceType; // 是否固定单价 (0-浮动, 1-固定)
|
||||
private String currencyCode; // 合同币种
|
||||
private String settleMethod; // 结算方式
|
||||
private String firstContractCode; // 对方合同号
|
||||
private BigDecimal estimateAmountTotal; // 预估含税总金额
|
||||
private String settleGist; // 结算依据 (10-交货量, 20-卸车量)
|
||||
private BigDecimal priceTaxRate; // 税率
|
||||
private String transType; // 运输方式 (10-铁路或汽运, 20-水路运输, 30-铁路运输, 40-汽车运输, 50-航空运输)
|
||||
private String packMethod; // 包装方式
|
||||
private BigDecimal intransitLoss; // 在途损耗
|
||||
private String pickupLocation; // 提货地
|
||||
private BigDecimal warehouseNum; // 仓库数
|
||||
private BigDecimal weightDisparity; // 按码单入库磅差比
|
||||
private String insuredSubjectMatter; // 投保标的
|
||||
private BigDecimal estimateCoverageAmount; // 预计年保险总额
|
||||
private BigDecimal estimatePremium; // 预计年保险费
|
||||
private BigDecimal premiumRate; // 保险费率
|
||||
private String remark; // 备注信息
|
||||
private String createdUser; // 经办人工号
|
||||
private String createdUserName; // 经办人姓名
|
||||
private String approveSubmitCode; // 拟签递交人工号
|
||||
private String approveSubmitName; // 拟签递交人姓名
|
||||
@DateTimeFormat(pattern = "yyyyMMdd")
|
||||
private Date approveSubmitDate; // 拟签呈批日期
|
||||
private String approvePassCode; // 拟签通过人工号
|
||||
private String approvePassName; // 拟签通过人姓名
|
||||
@DateTimeFormat(pattern = "yyyyMMdd")
|
||||
private Date approvePassDate; // 拟签通过日期
|
||||
private String signSite; // 签约地 (40-签约必填)
|
||||
@DateTimeFormat(pattern = "yyyyMMdd")
|
||||
private Date signDate; // 签约日期 (40-签约必填, 格式: yyyyMMdd)
|
||||
private String signFirstPerson; // 对方签约人 (40-签约必填)
|
||||
private String signSecondPersonCode; // 我方签约人工号 (40-签约必填)
|
||||
private String signSecondPersonName; // 我方签约人
|
||||
private String onceAuthorityFlag; // 推荐签约人工号 (40-签约必填, Y/N)
|
||||
private String signOnceAccredit; // 推荐签约人工号
|
||||
private String extCol1; // 备用字段1
|
||||
private String extCol2; // 备用字段2
|
||||
private String extCol3; // 备用字段3
|
||||
private String extCol4; // 备用字段4
|
||||
private String extCol5; // 备用字段5
|
||||
private String extCol6; // 备用字段6
|
||||
private String extCol7; // 备用字段7
|
||||
private String extCol8; // 备用字段8
|
||||
private String extCol9; // 备用字段9
|
||||
private String extCol10; // 备用字段10
|
||||
private List<String> attachList; // 附件清单列表
|
||||
|
||||
// 嵌套列表
|
||||
private List<Partner> partnerList; // 客商信息
|
||||
private List<GoodsSite> goodsSiteList; // 收发港/站点
|
||||
private List<LoadingRequirement> loadingRequirementsList; // 货物装卸要求
|
||||
private List<Account> accountList; // 收付款账号
|
||||
private List<Freight> freightList; // 费用明细
|
||||
private List<ServiceFee> serviceFeeList; // 服务费用项目
|
||||
private List<Storge> storgeList; // 仓库明细
|
||||
private List<ReceivingAddr> receivingAddrList; // 接货地址
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/*
|
||||
* 费用明细
|
||||
*/
|
||||
@Data
|
||||
public class Freight {
|
||||
private String freightSourceId; // 费用明细行号
|
||||
private String freightSourceCode; // 费用明细编号
|
||||
private String beginSiteCode; // 发货地编号
|
||||
private String beginSiteName; // 发货地名称
|
||||
private String beginSiteAddress; // 详细地址
|
||||
private String endSiteCode; // 收货地编码
|
||||
private String endSiteName; // 收货地名称
|
||||
private String endSiteAddress; // 详细地址
|
||||
private String contractTypeDispatch; // 运输方式 (10-汽运;20-船运;30-水汽联运)
|
||||
private String feeTypeCode; // 费用类型 (包干费、汽运费、港口费...)
|
||||
private String feeTypeName; // 费用名称
|
||||
private String isPartybPickup; // 是否乙方提货
|
||||
private BigDecimal partybPickupPrice; // 乙方提货单价
|
||||
private String feeCategoryL; // 费用大类
|
||||
private String feeCategoryS; // 费用小类
|
||||
private String goodsStorage; // 标的仓
|
||||
private String categoryName; // 标的物
|
||||
private BigDecimal noHeapDays; // 免堆期
|
||||
private String quantityUnitCode; // 计费单位 (01-元/吨; 02-元/40GP; 03-元/20GP; 04-元/车)
|
||||
private BigDecimal priceWithtax; // 单价
|
||||
private BigDecimal priceTaxRate; // 税率(%)
|
||||
private String costBearing; // 费用承担
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 收发港/站点
|
||||
*/
|
||||
@Data
|
||||
public class GoodsSite {
|
||||
private String goodsSiteSourceId; // 收发港站点行号
|
||||
private String goodsSiteSourceCode; // 收发港站点编号
|
||||
private String subMattercategoryLevel; // 标的物分类
|
||||
private String subMattercategoryCode; // 标的物编码
|
||||
private String subMatterCategoryName; // 标的物名称
|
||||
private String beginSiteType; // 地点类型 (QY-区域; GK-港口; MT-码头; CK-仓库)
|
||||
private String beginSiteCode; // 发货地编号
|
||||
private String beginSiteName; // 发货地名称
|
||||
private String beginSiteAddress; // 详细地址
|
||||
private String endSiteType; // 地点类型
|
||||
private String endSiteCode; // 收货地编号
|
||||
private String endSiteName; // 收货地名称
|
||||
private String endSiteAddress; // 详细地址
|
||||
private String contractTypeDispatch; // 运输方式 (10-汽运;20-船运;30-水汽联运)
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 货物装卸要求
|
||||
*/
|
||||
@Data
|
||||
public class LoadingRequirement {
|
||||
private String loadingReqSourceId; // 货物装卸行号
|
||||
private String loadingReqSourceCode; // 货物装卸编号
|
||||
private String deliveredAtPlace; // 提货地责任方
|
||||
private String deliveredAtFeeparty; // 提货地费用承担方
|
||||
private String destinationResponsibleParty; // 终到地责任方
|
||||
private String intermediateStationParty; // 终到地费用承担方
|
||||
private String destinationResponsibleFeeparty; // 中间站责任方
|
||||
private String intermediateResponsibleFeeparty; // 中间站费用承担方
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 客商信息
|
||||
*/
|
||||
@Data
|
||||
public class Partner {
|
||||
private String partnerSourceId; // 客商信息行号
|
||||
private String partnerSourceCode; // 客商信息编码
|
||||
private String partnerName; // 供应商名称
|
||||
private String partnerCode; // 供应商代码
|
||||
private String legalRepresentative; // 对方法定代表人
|
||||
private String partnerCurrency; // 币种
|
||||
private String contactPerson; // 对方联系人
|
||||
private String contactInformation; // 对方联系人联系方式
|
||||
private String internalTransaction; // 是否内部交易
|
||||
private String partnerType; // 客商类型
|
||||
private String domesticOrOverseas; // 境内/外
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 接货地址
|
||||
*/
|
||||
@Data
|
||||
public class ReceivingAddr {
|
||||
private String recivingAddrSourceId; // 接货地址行号
|
||||
private String recivingAddrSourceCode; // 接货地址编号
|
||||
private String categoryLevel; // 标的物分类
|
||||
private String ccCategoryCode; // 标的物编码
|
||||
private String categoryName; // 标的物名称
|
||||
private String siteCode; // 接货编码
|
||||
private String siteName; // 接货名称
|
||||
private String siteType; // 地址类型 (QY-区域; GK-港口; MT-码头; CK-仓库)
|
||||
private String siteAddress; // 详细地址
|
||||
private String consigneePrivatewire; // 专用线
|
||||
private String consignerContact; // 收货人
|
||||
private String contactPerson; // 联系人
|
||||
private String contactPhone; // 联系电话
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 服务费用项目
|
||||
*/
|
||||
@Data
|
||||
public class ServiceFee {
|
||||
private String serviceFeeSourceId; // 服务费用项目行号
|
||||
private String serviceFeeSourceCode; // 服务费用项目编号
|
||||
private String serviceFeeName; // 服务项目名称
|
||||
private String expenseType; // 计费类别
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.zt.plat.module.contractorder.api.vo.contract.international;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/*
|
||||
* 仓库明细
|
||||
*/
|
||||
@Data
|
||||
public class Storge {
|
||||
private String storgeSourceId; // 合同明细行号
|
||||
private String storgeSourceCode; // 合同明细行编号
|
||||
private String warehouseCode; // 仓库编号
|
||||
private String warehouseName; // 仓库名称
|
||||
private String warehouseAddress; // 详细地址
|
||||
}
|
||||
@@ -27,4 +27,6 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode CONTRACT_STATUS_NOT_ARCHIVE = new ErrorCode(1_027_000_012, "{}状态合同不允许归档");
|
||||
ErrorCode CONTRACT_STATUS_NOT_SUBMIT_ERP = new ErrorCode(1_027_000_013, "{}状态合同不允许提交ERP");
|
||||
ErrorCode CONTRACT_ORDER_EXISTS = new ErrorCode(1_027_000_014, "关联订单已存在");
|
||||
ErrorCode CONTRACT_SUBMIT_ERP_FAIL = new ErrorCode(1_027_000_015, "合同提交erp失败:{}");
|
||||
ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_015, "未知的操作");
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -163,7 +163,7 @@ public class PurchaseOrderController implements BusinessControllerMarker {
|
||||
//根据订单id修改订单状态
|
||||
@PutMapping("/update-order-status")
|
||||
@Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改")
|
||||
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated PurchaseOrderStsReqVO req) {
|
||||
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated OrderStsReqVO req) {
|
||||
purchaseOrderService.updateOrderStatusByIdOrOrderNo(req);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SaleOrderDetailsRespVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -41,7 +43,7 @@ public class DownOrUpOrderRespVO {
|
||||
* 订单
|
||||
*/
|
||||
@Schema(description = "订单")
|
||||
private PurchaseOrderRespVO order;
|
||||
private Object order;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 订单状态 Request VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OrderStsReqVO {
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26419")
|
||||
private List<Long> ids;
|
||||
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "订单状态不能为空")
|
||||
private String sts;
|
||||
@Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private List<String> orderNos;
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 采购订单状态 Request VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class PurchaseOrderStsReqVO {
|
||||
@Schema(description = "采购订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26419")
|
||||
private List<Long> ids;
|
||||
@Schema(description = "采购订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "采购订单状态不能为空")
|
||||
private String sts;
|
||||
@Schema(description = "采购订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private List<String> orderNos;
|
||||
}
|
||||
@@ -49,14 +49,14 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建采购订单")
|
||||
@Operation(summary = "创建销售订单")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:create')")
|
||||
public CommonResult<SalesOrderRespVO> createSalesOrder(@Valid @RequestBody SalesOrderSaveReqVO createReqVO) {
|
||||
return success(salesOrderService.createSalesOrder(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新采购订单")
|
||||
@Operation(summary = "更新销售订单")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:update')")
|
||||
public CommonResult<Boolean> updateSalesOrder(@Valid @RequestBody SalesOrderSaveReqVO updateReqVO) {
|
||||
salesOrderService.updateSalesOrder(updateReqVO);
|
||||
@@ -64,7 +64,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除采购订单")
|
||||
@Operation(summary = "删除销售订单")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:delete')")
|
||||
public CommonResult<Boolean> deleteSalesOrder(@RequestParam("id") Long id) {
|
||||
@@ -74,7 +74,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
|
||||
@DeleteMapping("/delete-list")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Operation(summary = "批量删除采购订单")
|
||||
@Operation(summary = "批量删除销售订单")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:delete')")
|
||||
public CommonResult<Boolean> deleteSalesOrderList(@RequestBody BatchDeleteReqVO req) {
|
||||
salesOrderService.deleteSalesOrderListByIds(req.getIds());
|
||||
@@ -82,8 +82,8 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得采购订单")
|
||||
@Parameter(name = "id", description = "id是订单主键,splyBsnTp是订单类型采购或者是消费", required = true, example = "1024")
|
||||
@Operation(summary = "获得销售订单")
|
||||
@Parameter(name = "id", description = "id是订单主键,splyBsnTp是订单类型销售或者是消费", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:query')")
|
||||
public CommonResult<SalesOrderRespVO> getSalesOrder(@RequestParam("id") Long id,@RequestParam(value = "splyBsnTp",required = false) String splyBsnTp) {
|
||||
SalesOrderDO purchaseOrder = salesOrderService.getSalesOrder(id, splyBsnTp);
|
||||
@@ -96,7 +96,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得采购订单分页")
|
||||
@Operation(summary = "获得销售订单分页")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:query')")
|
||||
public CommonResult<PageResult<SalesOrderRespVO>> getSalesOrderPage(@Valid SalesOrderPageReqVO pageReqVO) {
|
||||
PageResult<SalesOrderDO> pageResult = salesOrderService.getSalesOrderPage(pageReqVO);
|
||||
@@ -109,7 +109,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出采购订单 Excel")
|
||||
@Operation(summary = "导出销售订单 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportSalesOrderExcel(@Valid SalesOrderPageReqVO pageReqVO,
|
||||
@@ -117,7 +117,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<SalesOrderDO> list = salesOrderService.getSalesOrderPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "采购订单.xls", "数据", PurchaseOrderRespVO.class,
|
||||
ExcelUtils.write(response, "销售订单.xls", "数据", PurchaseOrderRespVO.class,
|
||||
BeanUtils.toBean(list, PurchaseOrderRespVO.class));
|
||||
}
|
||||
|
||||
@@ -141,6 +141,32 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
public CommonResult<Boolean> orderPassReject(@RequestBody SalesOrderReviewReqVO reqVO) {
|
||||
return success(salesOrderService.orderPassReject(reqVO));
|
||||
}
|
||||
//关联订单
|
||||
@PostMapping("/link-order")
|
||||
@Operation(summary = "关联订单")
|
||||
public CommonResult<Boolean> linkOrder(@RequestBody @Validated LinkOrderReqVO req) {
|
||||
return success(salesOrderService.linkOrder(req));
|
||||
}
|
||||
|
||||
//根据订单id和方式获取上或下游订单
|
||||
@PostMapping("/order-by-order-id-and-type")
|
||||
@Operation(summary = "根据订单id和方式获取上或下游订单")
|
||||
public CommonResult<List<DownOrUpOrderRespVO>> getOrderByOrderIdAndType(@RequestBody DownOrUpOrderReqVO reqVO) {
|
||||
return success( salesOrderService.getOrderByOrderIdAndType(reqVO));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/bound-order")
|
||||
@Operation(summary = "获取已绑定的订单")
|
||||
public CommonResult<List<PurchaseOrderRespVO>> boundOrder(@RequestBody DownOrUpOrderReqVO reqVO) {
|
||||
return success(salesOrderService.getBindOrderByOrder(reqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update-order-status")
|
||||
@Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'销售订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改")
|
||||
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated OrderStsReqVO req) {
|
||||
salesOrderService.updateOrderStatusByIdOrOrderNo(req);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
|
||||
import com.zt.plat.module.contractorder.api.vo.contract.*;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.core.io.ByteArrayResource;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -203,5 +204,7 @@ public interface ContractService {
|
||||
Boolean complete(List<Long> ids);
|
||||
|
||||
|
||||
JSONObject sendToErp(ErpContractSaveReqVO erpContractVO);
|
||||
|
||||
ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO);
|
||||
}
|
||||
|
||||
@@ -1584,7 +1584,8 @@ public class ContractServiceImpl implements ContractService {
|
||||
* @param erpContractVO 合同映射数据
|
||||
* @return 提交结果
|
||||
*/
|
||||
private JSONObject sendToErp(ErpContractSaveReqVO erpContractVO) {
|
||||
@Override
|
||||
public JSONObject sendToErp(ErpContractSaveReqVO erpContractVO) {
|
||||
JSONObject erpResult = new JSONObject();
|
||||
|
||||
HashMap<String, String> result = erpContractService.submitErp(erpContractVO);
|
||||
@@ -1651,7 +1652,8 @@ public class ContractServiceImpl implements ContractService {
|
||||
* @param contractMainDO 合同主信息
|
||||
* @return 合同映射信息
|
||||
*/
|
||||
private ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO) {
|
||||
@Override
|
||||
public ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO) {
|
||||
|
||||
ErpContractSaveReqVO erpContractVO = new ErpContractSaveReqVO();
|
||||
// 合同主信息表主键:BSE_CTRT_MAIN
|
||||
|
||||
@@ -96,7 +96,7 @@ public interface PurchaseOrderService {
|
||||
* @param reqVO 订单状态
|
||||
*
|
||||
*/
|
||||
void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO);
|
||||
void updateOrderStatusByIdOrOrderNo(OrderStsReqVO reqVO);
|
||||
/**
|
||||
* 获取物料
|
||||
*
|
||||
@@ -124,4 +124,6 @@ public interface PurchaseOrderService {
|
||||
* @return 结果
|
||||
*/
|
||||
Boolean linkOrder(@Valid LinkOrderReqVO LinkOrderReqVO);
|
||||
|
||||
List<PurchaseOrderDetailsRespVO> getOrderByIds(List<Long> ids);
|
||||
}
|
||||
|
||||
@@ -425,7 +425,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO) {
|
||||
public void updateOrderStatusByIdOrOrderNo(OrderStsReqVO reqVO) {
|
||||
// 校验存在
|
||||
if (reqVO.getIds() != null) {
|
||||
validatePurchaseOrderExists(reqVO.getIds());
|
||||
@@ -494,6 +494,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
return systemRelativityMapper.insert(saveDO) > 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) {
|
||||
//head
|
||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
|
||||
@@ -607,16 +609,17 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||
}
|
||||
String contractNumber = purchaseOrderDO.getContractNumber();// 合同号
|
||||
ContractRespVO contractRespVO = contractService.getBySystemContractNumber(contractNumber);
|
||||
|
||||
ContractRespVO upRelation = null;
|
||||
if ("up".equals(reqVO.getOrderType())) {
|
||||
log.info("获取上游订单");
|
||||
//上游
|
||||
upRelation = contractService.getUpRelation(Long.valueOf(contractNumber));
|
||||
upRelation = contractService.getUpRelation(contractRespVO.getId());
|
||||
} else {
|
||||
//下游
|
||||
log.info("获取下游订单");
|
||||
upRelation = contractService.getDownRelation(Long.valueOf(contractNumber));
|
||||
upRelation = contractService.getDownRelation(contractRespVO.getId());
|
||||
}
|
||||
List<DownOrUpOrderRespVO> orderList = new ArrayList<>();
|
||||
if (upRelation != null) {
|
||||
@@ -662,4 +665,16 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
}
|
||||
return orderList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PurchaseOrderDetailsRespVO> getOrderByIds(List<Long> ids) {
|
||||
List<PurchaseOrderWithDetailsVO> purchaseOrderWithDetailsVOS = purchaseOrderMapper.selectOrderByIds(ids);
|
||||
List<PurchaseOrderDetailsRespVO> purchaseOrderDetailsRespVOS = new ArrayList<>();
|
||||
purchaseOrderWithDetailsVOS.forEach(purchaseOrderWithDetailsVO -> {
|
||||
PurchaseOrderDetailsRespVO purchaseOrderDetailsRespVO = BeanUtils.toBean(purchaseOrderWithDetailsVO.getPurchaseOrder(), PurchaseOrderDetailsRespVO.class);
|
||||
purchaseOrderDetailsRespVO.setOrderDetails(BeanUtils.toBean(purchaseOrderWithDetailsVO.getOrderDetails(), PrchOrdDtlDetailsRespVO.class));
|
||||
purchaseOrderDetailsRespVOS.add(purchaseOrderDetailsRespVO);
|
||||
});
|
||||
return purchaseOrderDetailsRespVOS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.zt.plat.module.contractorder.service.salesorder;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseorderReqVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderPageReqVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderRespVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderReviewReqVO;
|
||||
@@ -91,4 +91,34 @@ public interface SalesOrderService {
|
||||
*
|
||||
*/
|
||||
boolean orderPassReject(SalesOrderReviewReqVO salesOrderReviewReqVO);
|
||||
/**
|
||||
* 消费订单关联采购订单
|
||||
*
|
||||
* @param reqVO 采购订单
|
||||
*
|
||||
*/
|
||||
boolean linkOrder(LinkOrderReqVO reqVO);
|
||||
/**
|
||||
* 获取消费订单详情
|
||||
*
|
||||
* @param reqVO 采购订单
|
||||
*
|
||||
*/
|
||||
|
||||
List<DownOrUpOrderRespVO> getOrderByOrderIdAndType(DownOrUpOrderReqVO reqVO);
|
||||
/**
|
||||
* 获取已绑定消费订单详情
|
||||
*
|
||||
* @param reqVO 采购订单
|
||||
*
|
||||
*/
|
||||
|
||||
List<PurchaseOrderRespVO> getBindOrderByOrder(DownOrUpOrderReqVO reqVO);
|
||||
/**
|
||||
* 修改订单状态
|
||||
*
|
||||
* @param req 采购订单
|
||||
*
|
||||
*/
|
||||
void updateOrderStatusByIdOrOrderNo(OrderStsReqVO req);
|
||||
}
|
||||
|
||||
@@ -5,41 +5,44 @@ import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONException;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
||||
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
||||
import com.zt.plat.module.bpm.api.task.dto.*;
|
||||
import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseorderReqVO;
|
||||
import com.zt.plat.module.contractorder.api.vo.contract.ContractRespVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.*;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.SystemRelativityDO;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO;
|
||||
import com.zt.plat.module.contractorder.dal.mysql.contract.SystemRelativityMapper;
|
||||
import com.zt.plat.module.contractorder.dal.mysql.salesorder.SalesOrderMapper;
|
||||
import com.zt.plat.module.contractorder.enums.contract.DictEnum;
|
||||
import com.zt.plat.module.contractorder.enums.purchaseorder.OrderStatusEnum;
|
||||
import com.zt.plat.module.contractorder.service.contract.ContractService;
|
||||
import com.zt.plat.module.contractorder.util.constants.ProcessDefinitionKeyConstants;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpSalesOrderSaveReqVO;
|
||||
import com.zt.plat.module.erp.service.erp.ErpOrderService;
|
||||
import com.zt.plat.module.system.api.sequence.SequenceApi;
|
||||
import com.zt.plat.module.system.api.user.AdminUserApi;
|
||||
import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_ORDER_EXISTS;
|
||||
import static com.zt.plat.module.contractorder.enums.purchaseorder.ErrorCodeConstants.*;
|
||||
|
||||
|
||||
@@ -72,6 +75,13 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
@Resource
|
||||
private ErpOrderService erpOrderService;
|
||||
|
||||
@Resource
|
||||
private SystemRelativityMapper systemRelativityMapper;
|
||||
|
||||
@Resource
|
||||
private ContractService contractService;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -249,7 +259,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
AdminUserRespDTO adminUserRespDTO = adminUserApi.getUser(SecurityFrameworkUtils.getLoginUserId()).getData();
|
||||
if (ObjectUtils.isEmpty(salesOrderDO.getProcessInstanceId())) {
|
||||
BpmProcessInstanceCreateReqDTO pidto = new BpmProcessInstanceCreateReqDTO();
|
||||
pidto.setProcessDefinitionKey(ProcessDefinitionKeyConstants.PURCHASE_ORDER_REVIEW_PROCESS);
|
||||
pidto.setProcessDefinitionKey(ProcessDefinitionKeyConstants.SALES_ORDER_REVIEW_PROCESS);
|
||||
pidto.setBusinessKey(String.valueOf(id));
|
||||
String data = bpmProcessInstanceApi.createProcessInstance(adminUserRespDTO.getId(), pidto).getData();
|
||||
if (StringUtils.isNotBlank(data)) {
|
||||
@@ -277,7 +287,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
if (BpmProcessInstanceStatusEnum.REJECT.getStatus().equals(approvalDetail.getStatus())) {
|
||||
// 如果状态是驳回状态,需要重新创建一个流程实例
|
||||
BpmProcessInstanceCreateReqDTO pidtoNew = new BpmProcessInstanceCreateReqDTO();
|
||||
pidtoNew.setProcessDefinitionKey(ProcessDefinitionKeyConstants.PURCHASE_ORDER_REVIEW_PROCESS);
|
||||
pidtoNew.setProcessDefinitionKey(ProcessDefinitionKeyConstants.SALES_ORDER_REVIEW_PROCESS);
|
||||
pidtoNew.setBusinessKey(String.valueOf(id));
|
||||
String data = bpmProcessInstanceApi.createProcessInstance(adminUserRespDTO.getId(), pidtoNew).getData();
|
||||
if (StringUtils.isNotBlank(data)) {
|
||||
@@ -350,5 +360,104 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean linkOrder(LinkOrderReqVO LinkOrderReqVO) {
|
||||
|
||||
SystemRelativityDO saveDO = new SystemRelativityDO();
|
||||
saveDO.setStatus(DictEnum.BSE_SYS_REL_TP_ORDER.getCode());
|
||||
saveDO.setUpId(LinkOrderReqVO.getUpOrderId());
|
||||
saveDO.setDownId(LinkOrderReqVO.getDownOrderId());
|
||||
//判断订单有没有关联过
|
||||
if (systemRelativityMapper.selectCount(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getUpId, saveDO.getUpId()).eq(SystemRelativityDO::getDownId, saveDO.getDownId())) > 0) {
|
||||
throw exception(CONTRACT_ORDER_EXISTS);
|
||||
}
|
||||
return systemRelativityMapper.insert(saveDO) > 0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<DownOrUpOrderRespVO> getOrderByOrderIdAndType(DownOrUpOrderReqVO reqVO) {
|
||||
SalesOrderDO salesOrderDO = salesOrderMapper.selectById(reqVO.getOrderId());
|
||||
if (salesOrderDO == null) {
|
||||
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||
}
|
||||
String contractNumber = salesOrderDO.getContractNumber();// 合同号
|
||||
ContractRespVO bySystemContractNumber = contractService.getBySystemContractNumber(contractNumber);
|
||||
ContractRespVO upRelation = null;
|
||||
if ("up".equals(reqVO.getOrderType())) {
|
||||
log.info("获取上游订单");
|
||||
//上游
|
||||
upRelation = contractService.getUpRelation(bySystemContractNumber.getId());
|
||||
} else {
|
||||
//下游
|
||||
log.info("获取下游订单");
|
||||
upRelation = contractService.getDownRelation(bySystemContractNumber.getId());
|
||||
}
|
||||
List<DownOrUpOrderRespVO> orderList = new ArrayList<>();
|
||||
if (upRelation != null) {
|
||||
String systemContractNumber = upRelation.getSystemContractNumber();
|
||||
|
||||
List<SalesOrderDO> salesOrderDOS = salesOrderMapper.selectList(new LambdaQueryWrapper<SalesOrderDO>().eq(SalesOrderDO::getContractNumber, systemContractNumber));
|
||||
salesOrderDOS.forEach(p -> {
|
||||
DownOrUpOrderRespVO downOrUpOrderRespVO = new DownOrUpOrderRespVO();
|
||||
downOrUpOrderRespVO.setOrderId(String.valueOf(p.getId()));
|
||||
downOrUpOrderRespVO.setOrderNo(p.getSystemOrderNumber());
|
||||
downOrUpOrderRespVO.setOrderType(reqVO.getOrderType());
|
||||
downOrUpOrderRespVO.setContractId(String.valueOf(p.getId()));
|
||||
downOrUpOrderRespVO.setContractName(p.getContractName());
|
||||
downOrUpOrderRespVO.setContractNumber(p.getContractNumber());
|
||||
downOrUpOrderRespVO.setOrder(BeanUtils.toBean(p, SalesOrderRespVO.class));
|
||||
orderList.add(downOrUpOrderRespVO);
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
return orderList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PurchaseOrderRespVO> getBindOrderByOrder(DownOrUpOrderReqVO reqVO) {
|
||||
List<PurchaseOrderRespVO> orderList = new ArrayList<>();
|
||||
if ("up".equals(reqVO.getOrderType())) {
|
||||
log.info("获取上游订单");
|
||||
//上游
|
||||
List<SystemRelativityDO> systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getDownId, reqVO.getOrderId()));
|
||||
if (!systemRelativityDOS.isEmpty()) {
|
||||
List<SalesOrderDO> salesOrderDOS = salesOrderMapper.selectByIds(systemRelativityDOS.stream().map(SystemRelativityDO::getUpId).toList());
|
||||
orderList = BeanUtils.toBean(salesOrderDOS, PurchaseOrderRespVO.class);
|
||||
}
|
||||
} else {
|
||||
//下游
|
||||
log.info("获取下游订单");
|
||||
List<SystemRelativityDO> systemRelativityDOS = systemRelativityMapper.selectList(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getUpId, reqVO.getOrderId()));
|
||||
if (!systemRelativityDOS.isEmpty()) {
|
||||
List<SalesOrderDO> purchaseOrderDOS = salesOrderMapper.selectByIds(systemRelativityDOS.stream().map(SystemRelativityDO::getDownId).toList());
|
||||
orderList = BeanUtils.toBean(purchaseOrderDOS, PurchaseOrderRespVO.class);
|
||||
}
|
||||
}
|
||||
return orderList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOrderStatusByIdOrOrderNo(OrderStsReqVO reqVO) {
|
||||
// 校验存在
|
||||
if (reqVO.getIds() != null) {
|
||||
validateSalesOrderExists(reqVO.getIds());
|
||||
}
|
||||
if (reqVO.getOrderNos() != null) {
|
||||
validateSalesOrderNosExists(reqVO.getOrderNos());
|
||||
}
|
||||
OrderStatusEnum byCode = OrderStatusEnum.getByCode(reqVO.getSts());
|
||||
if (byCode == null) {
|
||||
throw exception(PURCHASE_ORDER_STATUS_ERROR);
|
||||
}
|
||||
salesOrderMapper.update(new LambdaUpdateWrapper<SalesOrderDO>().in(reqVO.getOrderNos() != null, SalesOrderDO::getSystemOrderNumber, reqVO.getOrderNos()).in(reqVO.getIds() != null, SalesOrderDO::getId, reqVO.getIds()).set(SalesOrderDO::getStatus, reqVO.getSts()));
|
||||
}
|
||||
|
||||
private void validateSalesOrderNosExists(List<String> orderNos) {
|
||||
List<SalesOrderDO> list = salesOrderMapper.selectList(new LambdaQueryWrapper<SalesOrderDO>().in(SalesOrderDO::getSystemOrderNumber, orderNos));
|
||||
if (CollUtil.isEmpty(list) || list.size() != orderNos.size()) {
|
||||
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,5 @@ package com.zt.plat.module.contractorder.util.constants;
|
||||
public interface ProcessDefinitionKeyConstants {
|
||||
|
||||
String PURCHASE_ORDER_REVIEW_PROCESS = "purchase_order_review";
|
||||
String SALES_ORDER_REVIEW_PROCESS = "sales_order_review";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user