Files
SGGL_SHJ/SGGL/WebAPI/Controllers/HJGL/PreDesign/PackagingManageController.cs
T
lpf 5809a5fb48 feat: 包装管理和车次管理接口功能增强
- 新增包装分类获取接口
- 包装列表增加分类信息、包装内数量和车次关联筛选
- 保存包装支持分类字段
- 车次关联包装增加重复校验
2026-04-15 23:41:05 +08:00

254 lines
8.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace WebAPI.Controllers
{
/// <summary>
/// 包装管理接口
/// </summary>
public class PackagingManageController : ApiController
{
#region Methods
/// <summary>
/// 删除包装与预制组件的关联
/// </summary>
/// <param name="pipelineComponentId"></param>
/// <returns></returns>
[HttpGet]
public Model.ResponeData DeletePipelineComponentFromPackaging(string pipelineComponentId)
{
var responeData = new Model.ResponeData();
try
{
HJGLPackagingmanageService.DeletePipelineComponentFromPackaging(pipelineComponentId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 获取指定包装信息
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="personId">人员ID</param>
/// <param name="packagingManageId">包装ID</param>
/// <returns>包装信息</returns>
public Model.ResponeData GetPackagingInformationById(string projectId, string personId, string packagingManageId)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = BLL.HJGLPackagingmanageService.GetPackagingInformationById(projectId, personId, packagingManageId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 获取包装信息列表
/// </summary>
/// <param name="filter">过滤条件</param>
/// <param name="pagesize">每页数量</param>
/// <param name="pageindex">页码(从1开始)</param>
/// <returns>包装信息分页列表</returns>
public Model.ResponeData GetPackagingInformationList([FromUri] PackagingManageInput filter, int pagesize, int pageindex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = BLL.HJGLPackagingmanageService.GetPackagingManageList(filter, pageindex, pagesize, out int totalCount);
responeData.data = new { totalCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 获取新包装编号
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public Model.ResponeData GetPackagingNumberByProjectId(string projectId)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = BLL.HJGLPackagingmanageService.GetNewPackagingCode(projectId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 包装到场验收
/// </summary>
/// <param name="packagingManageId">包装ID</param>
/// <param name="PersonId">人员ID</param>
/// <returns>操作结果</returns>
public Model.ResponeData GetPackingInfoConfirmArrival(string packagingManageId, string PersonId)
{
var responeData = new Model.ResponeData();
try
{
BLL.HJGLPackagingmanageService.GetPackingInfoConfirmArrival(packagingManageId, PersonId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 保存包装信息(组件明细)
/// </summary>
/// <param name="packagingManageId">包装ID</param>
/// <param name="PipelineComponentIds">组件ID集合</param>
/// <returns>操作结果</returns>
public Model.ResponeData getSavePackagingInformationById(string packagingManageId, string PipelineComponentIds)
{
var responeData = new Model.ResponeData();
try
{
BLL.HJGLPackagingmanageService.getSavePackagingInformationById(packagingManageId, PipelineComponentIds);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 新增或更新包装信息(Id为空则新增,否则更新),返回创建或更新后的Id。
/// </summary>
/// <param name="model">包装信息实体</param>
/// <returns>创建或更新后的Id</returns>
[HttpPost]
public Model.ResponeData SavePackaging(Model.HJGL_PackagingManage model)
{
var responeData = new Model.ResponeData();
try
{
var id = HJGLPackagingmanageService.AddOrUpdatePackaging(model);
responeData.data = new { id };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 车次关联包装(设置包装的TrainNumberId
/// </summary>
/// <param name="packagingManageId">包装ID</param>
/// <param name="trainNumberId">车次ID</param>
/// <returns>操作结果</returns>
[HttpGet]
public Model.ResponeData SavePackingInformation(string packagingManageId, string trainNumberId)
{
var responeData = new Model.ResponeData();
try
{
var packModel = HJGLPackagingmanageService.GetHJGL_PackagingManageById(packagingManageId);
if (packModel == null)
{
responeData.code = 0;
responeData.message = "未找到对应的包装信息";
return responeData;
}
if (packModel.State != 0)
{
responeData.code = 0;
responeData.message = "当前包装状态不可修改车次号";
return responeData;
}
packModel.TrainNumberId = trainNumberId;
HJGLPackagingmanageService.UpdateHJGL_PackagingManage(packModel);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 添加包装与预制组件关联关系
/// </summary>
/// <param name="packagingManageId"></param>
/// <param name="pipelineComponentId"></param>
/// <returns></returns>
[HttpGet]
public Model.ResponeData SavePipelineComponentToPackaging(string packagingManageId, string pipelineComponentId)
{
var responeData = new Model.ResponeData();
try
{
HJGLPackagingmanageService.AddPipelineComponentToPackaging(packagingManageId, pipelineComponentId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
/// <summary>
/// 获取包装分类列表
/// </summary>
/// <returns>包装分类字典</returns>
[HttpGet]
public Model.ResponeData GetPackagingCategories()
{
var responeData = new Model.ResponeData();
try
{
responeData.data = HJGLPackagingmanageService.CategoryIntMap;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion Methods
}
}