Files
SGGL_SHJ/SGGL/WebAPI/Controllers/HJGL/PreDesign/PackagingManageController.cs
T
lpf d35ff80f3e 重构包装管理服务,优化数据结构与接口
移除 APIPackagingManageService,功能迁移至 HJGLPackagingmanageService 并进行重构,新增方法支持包装与组件关联管理、分页查询、状态描述等功能。
更新 PackagingManageController,替换旧服务调用,新增接口方法。
调整数据库结构,新增子表 HJGL_PackagingManageDetail,优化包装与组件的关联存储。
更新前端页面逻辑,适配新数据结构,新增 StackingPosition 字段显示。
优化 Model 层字段定义,调整长度限制,提升性能与一致性。
更新报表模板与项目文件,移除冗余代码,提升代码可维护性。
2025-10-29 17:00:27 +08:00

234 lines
7.9 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;
}
#endregion Methods
}
}