产品定义原始完工

This commit is contained in:
DESKTOP-H2PAFLR\Administrator
2023-08-10 11:33:34 +08:00
parent c3010d75e4
commit 414c1ac2a8
5 changed files with 127 additions and 79 deletions

View File

@@ -6,6 +6,7 @@ using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using ZR.Admin.WebApi.Extensions;
using ZR.Model.mes.md;
using ZR.Model.mes.md.DTO;
using ZR.Service.mes.md;
using ZR.Service.mes.md.IService;
@@ -47,10 +48,10 @@ namespace ZR.Admin.WebApi.Controllers.mes.md
return SUCCESS(units);
}
/// <summary>
/// 获取全部单位
/// </summary>
/// <returns></returns>
/// <summary>
/// 获取全部单位
/// </summary>
/// <returns></returns>
[HttpGet("getUnit")]
public IActionResult GetUnitlist()
{
@@ -73,7 +74,7 @@ namespace ZR.Admin.WebApi.Controllers.mes.md
int result = mdProduct.InsertProductDefine(products);
return SUCCESS(result);
}
/// <summary>
/// 根据主键查询product
@@ -96,14 +97,20 @@ namespace ZR.Admin.WebApi.Controllers.mes.md
[HttpPost("updateProductDefine")]
public IActionResult UpdateProductDefine([FromBody] MdProductDefine products)
{
if (products != null)
products.ToUpdate(HttpContext);
int result= mdProduct.UpdateProductDefine(products);
int result = mdProduct.UpdateProductDefine(products);
return SUCCESS(result);
}
/// <summary>
/// 删除产品
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("delproduct/{id}")]
public IActionResult DelUnit(string id)
@@ -112,6 +119,28 @@ namespace ZR.Admin.WebApi.Controllers.mes.md
int result = mdProduct.deleteProductDefine(ids);
return ToResponse(result);
}
/// <summary>
/// 导出产品excel
/// </summary>
/// <param name="starttime"></param>
/// <param name="endtime"></param>
/// <param name="productCode"></param>
/// <param name="productName"></param>
/// <returns></returns>
[HttpGet("exportProduct")]
public IActionResult ExportProduct(DateTime starttime, DateTime endtime, string productCode="", string productName = "")
{
List<MdProductDefine> units = null;
units = mdProduct.GetList(starttime, endtime, productCode, productName);
var result = ExportExcelMini(units, "pruduct", "产品列表");
return ExportExcel(result.Item2, result.Item1);
}
}
}

View File

@@ -12,7 +12,7 @@ namespace ZR.Service.mes.md.IService
{
public int deleteProductDefine(int[] ids);
public MdProductDefineDTO GetList(string name, string code, int pageNum, int pageSize);
public List<MdProductDefine> GetList(SearchOptionDTO searchOption);
public List<MdProductDefine> GetList(DateTime starttime, DateTime endtime, string productCode, string productName);
public MdProductDefine GetProductDefinebyPK(int measure);
List<MdUnit> GetProductDefineList(string name);
List<MdUnit> GetProductDefineList();

View File

@@ -12,6 +12,7 @@ using System.Xml.Linq;
using ZR.Model.mes.md;
using ZR.Model.mes.md.DTO;
using ZR.Service.mes.md.IService;
using static Org.BouncyCastle.Crypto.Engines.SM2Engine;
namespace ZR.Service.mes.md
{
@@ -49,6 +50,17 @@ namespace ZR.Service.mes.md
}
public List<MdProductDefine> GetList(DateTime starttime, DateTime endtime, string productCode, string productName)
{
var predicate = Expressionable.Create<MdProductDefine>()
.AndIF(productCode.IsNotEmpty(), pro => pro.ProductCode.Contains(productCode))
.AndIF(productName.IsNotEmpty(), pro => pro.ProductName.Contains(productName))
.AndIF(starttime.IsNotEmpty(), pro => pro.CreatedTime>=starttime)
.AndIF(endtime.IsNotEmpty(), pro => pro.CreatedTime>=endtime)
.ToExpression();
return Context.Queryable<MdProductDefine>().Where(predicate).ToList();
}
public MdProductDefine GetProductDefinebyPK(int measure)
{
@@ -84,10 +96,7 @@ namespace ZR.Service.mes.md
return Update(paramss,true);
}
List<MdProductDefine> IMdProductDefineService.GetList(SearchOptionDTO searchOption)
{
throw new NotImplementedException();
}
}

View File

@@ -1,66 +1,63 @@
import request from '@/utils/request'
import { downFile } from '@/utils/request'
export function listproductEfinition(query) {
return request({
url: '/mes/md/product/list',
method: 'get',
params: query
})
}
return request({
url: '/mes/md/product/list',
method: 'get',
params: query,
})
}
//根据名称查询单条unit
export function getUnitmeasure(query) {
return request({
url: '/mes/md/product/getUnit/'+query,
method: 'get',
})
}
export function updateUnitmeasure(data) {
return request({
url: '/mes/md/unit/updateUnit',
method: 'post',
data: data
})
}
//根据名称查询单条unit
export function getUnitmeasure(query) {
return request({
url: '/mes/md/product/getUnit/' + query,
method: 'get',
})
}
export function addProductDefine(data) {
return request({
url: '/mes/md/product/addProductDefine',
method: 'post',
data: data,
contextType:"application/json"
})
}
export function updateProductDefine(data) {
return request({
url: '/mes/md/product/updateProductDefine',
method: 'post',
data: data,
contextType:"application/json"
})
}
export function updateUnitmeasure(data) {
return request({
url: '/mes/md/unit/updateUnit',
method: 'post',
data: data,
})
}
export function addProductDefine(data) {
return request({
url: '/mes/md/product/addProductDefine',
method: 'post',
data: data,
contextType: 'application/json',
})
}
export function getProductBypk(query) {
return request({
url: '/mes/md/product/getProductBypk/'+query,
method: 'get',
})
}
export function updateProductDefine(data) {
return request({
url: '/mes/md/product/updateProductDefine',
method: 'post',
data: data,
contextType: 'application/json',
})
}
export function delproduct(id) {
return request({
url: '/mes/md/product/delproduct/'+id,
method: 'delete',
})
}
export function getProductBypk(query) {
return request({
url: '/mes/md/product/getProductBypk/' + query,
method: 'get',
})
}
export function delproduct(id) {
return request({
url: '/mes/md/product/delproduct/' + id,
method: 'delete',
})
}
// 导出产品
export async function exportProduct(query) {
await downFile('/mes/md/product/exportProduct/', { ...query })
}

View File

@@ -78,7 +78,7 @@
<!-- 导出excel筛选 -->
<el-dialog title="导出excel筛选" :visible.sync="exportopen" width="600px" append-to-body>
<el-form ref="exportExcel" :model="exportExcel" label-width="150px" label-position="left">
<el-form ref="exportExcel" :model="exportExcel" label-width="150px" label-position="left" :rules="exportRules">
<el-form-item label="查询时间" prop="excelTime">
<el-date-picker
v-model="exportExcel.excelTime"
@@ -89,6 +89,12 @@
end-placeholder="结束日期"
align="center"
/></el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="exportExcel.productCode" placeholder="输入产品名称"></el-input>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input v-model="exportExcel.productName" placeholder="输入产品名称"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -106,7 +112,8 @@ import {
getUnitmeasure,
updateProductDefine,
getProductBypk,
delproduct
delproduct,
exportProduct,
} from '@/api/basisManagement/productEfinition.js'
import { debounce } from '@/utils'
@@ -149,13 +156,15 @@ export default {
productName: [{ required: true, message: '产品名称不能为空', trigger: 'blur' }],
productUnitName: [{ required: true, message: '单位名称不能为空', trigger: 'blur' }],
},
exportRules: {
excelTime: [{ required: true, message: '时间不能为空', trigger: 'blur' }],
},
ids: [],
idsName: [],
exportExcel: {
excelTime: [],
measureCode: '',
measureName: '',
enableFlag: '',
productCode: '',
productName: '',
},
pickerOptions: {
@@ -317,11 +326,15 @@ export default {
this.exportopen = true
},
async submitExcelForm() {
this.exportExcel.starttime = this.exportExcel.excelTime[0]
this.exportExcel.endtime = this.exportExcel.excelTime[1]
await exportUnit(this.exportExcel)
this.exportopen = false
submitExcelForm() {
this.$refs['exportExcel'].validate(async (valid) => {
if (valid) {
this.exportExcel.starttime = this.exportExcel.excelTime[0]
this.exportExcel.endtime = this.exportExcel.excelTime[1]
await exportProduct(this.exportExcel)
this.exportopen = false
}
})
},
// 远程搜索单位