优化相关流程

master
ZR20090193-陈敬勇 2 years ago
parent 6d94667c81
commit e5dd0fdb74

@ -56,7 +56,7 @@ export const columns: BasicColumn[] = [
width: 100,
},
{
title: '数量',
title: '计费数量',
dataIndex: 'storageunitcount',
width: 100,
},

@ -73,7 +73,7 @@ export const columns: BasicColumn[] = [
width: 100,
},
{
title: '数量',
title: '计费数量',
dataIndex: 'storageunitcount',
width: 100,
},

@ -51,7 +51,7 @@ export const columns: BasicColumn[] = [
width: 100,
},
{
title: '数量',
title: '计费数量',
dataIndex: 'storageunitcount',
width: 100,
},

@ -44,6 +44,8 @@
<vxe-column field="wmsplanid" title="wmsplanid" :visible="false" />
<vxe-column field="wmsid" title="wmsid" :visible="false" />
<vxe-column field="wmsphysicsid" title="wmsphysicsid" :visible="false" />
<vxe-column field="coefficient" title="coefficient" :visible="false" />
<vxe-column field="goodsId" title="goodsId" :visible="false" />
<vxe-column
field="goodsname"
title="商品名称"
@ -77,54 +79,97 @@
(item.ruleunit ? ' - ' + item.ruleunit : '')
}}
<a-tag color="red">提单号:{{ item.mblno }}</a-tag>
<a-tag color="lightgreen">批次号:{{ item.goodsmodeL2 }}</a-tag>
<a-tag color="lightblue">库位:{{ item.areaname }}</a-tag>
<!-- <a-tag color="lightgreen">可用件数:{{ item.pkgs }}</a-tag>-->
<!-- <a-tag color="red">占用件数:{{ item.lockpkgs }}</a-tag>-->
<a-tag color="lightblue">可用数量:{{ item.storageunitcount }}</a-tag>
<a-tag color="lightgreen">可用件数:{{ item.pkgs }}</a-tag>
<a-tag color="red">占用件数:{{ item.lockpkgs }}</a-tag>
<a-tag color="lightblue">可用计费数量:{{ item.storageunitcount }}</a-tag>
<a-tag color="red">占用数量:{{ item.lockstorageunitcount }}</a-tag>
</a-select-option>
</template>
</a-select>
</template>
</vxe-column>
<!-- <vxe-column-->
<!-- field="goodsmodel"-->
<!-- title="规格型号"-->
<!-- width="150"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.goodsmodel" type="text" />-->
<!-- </template>-->
<!-- </vxe-column>-->
<vxe-column field="goodsmodel" title="规格型号" width="150" />
<vxe-column field="areaname" title="库位" width="150" />
<vxe-column field="kgs" title="毛重(千克)" width="100" />
<vxe-column field="netweight" title="净重(千克)" width="100" />
<vxe-column field="cbm" title="体积" width="100" />
<!-- <vxe-column-->
<!-- field="pkgs"-->
<!-- title="件数"-->
<!-- width="100"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.pkgs" type="number" min="1" clearable />-->
<!-- </template>-->
<!-- </vxe-column>-->
<vxe-column field="pkgs" title="件数" width="100" />
<vxe-column field="storageunit" title="计费单位" width="100" />
<vxe-column field="storageunitcount" title="数量" width="150" />
<!-- <vxe-column-->
<!-- field="storageunitcount"-->
<!-- title="计费数量"-->
<!-- width="100"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.storageunitcount" type="number" min="0" clearable />-->
<!-- </template>-->
<!-- </vxe-column>-->
<vxe-column field="goodsmodeL2" title="批次号" width="100" />
<vxe-column
field="netweight"
title="净重(千克)"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input
v-model="row.netweight"
type="number"
@change="netweightChangeEvent({ row })"
min="0"
clearable
/>
</template>
</vxe-column>
<vxe-column
field="kgs"
title="毛重(千克)"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input
v-model="row.kgs"
type="number"
@change="kgsChangeEvent({ row })"
min="0"
clearable
/>
</template>
</vxe-column>
<vxe-column
field="pkgs"
title="件数"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input
v-model="row.pkgs"
type="number"
@change="pkgsChangeEvent({ row })"
min="0"
clearable
/>
</template>
</vxe-column>
<vxe-column
field="minpkgs"
title="小件数"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input v-model="row.minpkgs" type="number" min="0" clearable />
</template>
</vxe-column>
<vxe-column
field="pallets"
title="托盘数"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input
v-model="row.pallets"
@change="palletsChangeEvent({ row })"
type="number"
min="0"
clearable
/>
</template>
</vxe-column>
<vxe-column field="storageunit" title="计费单位" width="80" />
<vxe-column field="storageUnitType" title="计费类型" width="80" />
<vxe-column field="storageunitcount" title="计费数量" width="100" />
<vxe-column
field="truckno"
title="承运车号"
@ -235,6 +280,49 @@
}
}
}
const pkgsChangeEvent = ({ row }: any) => {
console.log(row)
row.minpkgs = row.pkgs * row.coefficient
}
const netweightChangeEvent = ({ row }: any) => {
console.log(row)
if (row.storageUnitType == '净重') {
//
if (row.storageunit == '吨') {
row.storageunitcount = parseFloat(row.netweight / 1000)
}
if (row.storageunit == '千克') {
row.storageunitcount = row.netweight
}
const $table = xTable.value
$table.reloadRow(row, {})
}
// console.log(`${column.title} input `)
}
const kgsChangeEvent = ({ row }: any) => {
if (row.storageUnitType == '毛重') {
//
if (row.storageunit == '吨') {
row.storageunitcount = parseFloat(row.kgs / 1000)
}
if (row.storageunit == '千克') {
row.storageunitcount = row.kgs
}
const $table = xTable.value
$table.reloadRow(row, {})
}
}
const palletsChangeEvent = ({ row }: any) => {
if (row.storageUnitType == '体积') {
//
if (row.storageunit == '立方米') {
row.storageunitcount = row.pallets * 2
}
const $table = xTable.value
$table.reloadRow(row, {})
}
}
const selectChange = (e, opt, row) => {
// console.log(`selected ${e}`)
console.log(opt)
@ -242,6 +330,7 @@
return v.wmsphysicsid == opt.key
})
console.log(obj)
row.goodsId = obj.goodsId
row.goodsname = obj.goodsname
row.goodscode = obj.goodscode
row.goodshscode = obj.goodshscode===null?'':obj.goodshscode
@ -257,7 +346,11 @@
row.cbm = obj.cbm
row.netweight = obj.netweight
row.pkgs = obj.pkgs
row.minpkgs = obj.minpkgs
row.mblno = obj.mblno
row.goodsmodeL2 = obj.goodsmodeL2
row.storageUnitType = obj.storageUnitType
row.coefficient = obj.coefficient
// console.log(row)
const $table = xTable.value
$table.reloadRow(row, {})
@ -277,6 +370,7 @@
wmsoutdetailid: '',
wmsplanid: unref(rowId),
mblno: '',
goodsId: '',
goodscode: '',
goodshscode: '',
goodsname: '',
@ -285,6 +379,10 @@
netweight: 0,
cbm: 0,
pkgs: 0,
minpkgs: 0,
pallets: 0,
goodsmodeL2: '',
storageUnitType: '',
kindpkgs: '',
storageunit: '',
storageunitcount: 0,
@ -295,6 +393,7 @@
areacode: '',
areaname: '',
truckno: '',
coefficient: 0,
key: `${Date.now()}`,
}
$table.insertAt(record, row).then(({ row }) => {

@ -299,39 +299,39 @@ export const formSchema: FormSchema[] = [
},
slot: 'storehouseSelectSlot',
},
{
field: 'goodsname',
label: '商品名称',
component: 'Input',
colProps: {
span: 8,
},
componentProps: {
disabled: true,
},
},
{
field: 'goodsmodel',
label: '规格型号',
component: 'Input',
colProps: {
span: 8,
},
componentProps: {
disabled: true,
},
},
{
field: 'truckno',
label: '承运车辆',
component: 'Input',
colProps: {
span: 8,
},
componentProps: {
disabled: true,
},
},
// {
// field: 'goodsname',
// label: '商品名称',
// component: 'Input',
// colProps: {
// span: 8,
// },
// componentProps: {
// disabled: true,
// },
// },
// {
// field: 'goodsmodel',
// label: '规格型号',
// component: 'Input',
// colProps: {
// span: 8,
// },
// componentProps: {
// disabled: true,
// },
// },
// {
// field: 'truckno',
// label: '承运车辆',
// component: 'Input',
// colProps: {
// span: 8,
// },
// componentProps: {
// disabled: true,
// },
// },
{
field: 'moveStoreHouseName',
label: '移库仓库',
@ -421,6 +421,11 @@ export const storecolumns: BasicColumn[] = [
dataIndex: 'goodsmodel',
width: 80,
},
{
title: '批次号',
dataIndex: 'goodsmodeL2',
width: 80,
},
{
title: '库位',
dataIndex: 'areacodename',
@ -442,7 +447,17 @@ export const storecolumns: BasicColumn[] = [
width: 100,
},
{
title: '数量',
title: '小件数',
dataIndex: 'minpkgs',
width: 100,
},
{
title: '锁定件数',
dataIndex: 'lockpkgs',
width: 100,
},
{
title: '计费数量',
dataIndex: 'storageunitcount',
width: 100,
},

@ -195,23 +195,23 @@
/>
</template>
</vxe-column>
<!-- <vxe-column-->
<!-- field="storageunit"-->
<!-- title="计费单位"-->
<!-- width="100"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-select v-model="row.storageunit" clearable transfer>-->
<!-- <vxe-option-->
<!-- v-for="item in storeunit"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- />-->
<!-- </vxe-select>-->
<!-- </template>-->
<!-- </vxe-column>-->
<!-- <vxe-column-->
<!-- field="storageunit"-->
<!-- title="计费单位"-->
<!-- width="100"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-select v-model="row.storageunit" clearable transfer>-->
<!-- <vxe-option-->
<!-- v-for="item in storeunit"-->
<!-- :key="item.value"-->
<!-- :value="item.value"-->
<!-- :label="item.label"-->
<!-- />-->
<!-- </vxe-select>-->
<!-- </template>-->
<!-- </vxe-column>-->
<!-- <vxe-column-->
<!-- field="storageunitcount"-->
<!-- title="计费数量"-->
@ -328,10 +328,10 @@
if (row.storageUnitType == '净重') {
//
if (row.storageunit == '吨') {
row.storageunitcount = parseFloat(row.pkgs * row.netweight / 1000)
row.storageunitcount = parseFloat(row.netweight / 1000)
}
if (row.storageunit == '千克') {
row.storageunitcount = row.pkgs * row.netweight
row.storageunitcount = row.netweight
}
const $table = xTable.value
$table.reloadRow(row, {})
@ -342,10 +342,10 @@
if (row.storageUnitType == '毛重') {
//
if (row.storageunit == '吨') {
row.storageunitcount = parseFloat((row.pkgs * row.kgs) / 1000)
row.storageunitcount = parseFloat(row.kgs / 1000)
}
if (row.storageunit == '千克') {
row.storageunitcount = row.pkgs * row.kgs
row.storageunitcount = row.kgs
}
const $table = xTable.value
$table.reloadRow(row, {})

@ -84,8 +84,8 @@
<a-tag color="red">提单号:{{ item.mblno }}</a-tag>
<a-tag color="lightgreen">批次号:{{ item.goodsmodeL2 }}</a-tag>
<a-tag color="lightblue">库位:{{ item.areaname }}</a-tag>
<!-- <a-tag color="lightgreen">可用件数:{{ item.pkgs }}</a-tag>-->
<!-- <a-tag color="red">占用件数:{{ item.lockpkgs }}</a-tag>-->
<a-tag color="lightgreen">可用件数:{{ item.pkgs }}</a-tag>
<a-tag color="red">占用件数:{{ item.lockpkgs }}</a-tag>
<a-tag color="lightblue">可用计费数量:{{ item.storageunitcount }}</a-tag>
<a-tag color="red">占用数量:{{ item.lockstorageunitcount }}</a-tag>
</a-select-option>
@ -93,23 +93,55 @@
</a-select>
</template>
</vxe-column>
<!-- <vxe-column-->
<!-- field="goodsmodel"-->
<!-- title="规格型号"-->
<!-- width="150"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.goodsmodel" type="text" />-->
<!-- </template>-->
<!-- </vxe-column>-->
<!-- <vxe-column-->
<!-- field="goodsmodel"-->
<!-- title="规格型号"-->
<!-- width="150"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.goodsmodel" type="text" />-->
<!-- </template>-->
<!-- </vxe-column>-->
<vxe-column field="goodsmodel" title="规格型号" width="150" />
<vxe-column field="areaname" title="库位" width="150" />
<vxe-column field="goodsmodeL2" title="批次号" width="100" />
<vxe-column field="netweight" title="净重(千克)" width="100" />
<vxe-column field="kgs" title="毛重(千克)" width="100" />
<!-- <vxe-column field="cbm" title="体积" width="100" />-->
<!-- <vxe-column field="pkgs" title="件数" width="100" />-->
<!-- <vxe-column field="netweight" title="净重(千克)" width="100" />-->
<!-- <vxe-column field="kgs" title="毛重(千克)" width="100" />-->
<vxe-column
field="netweight"
title="净重(千克)"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input
v-model="row.netweight"
type="number"
@change="netweightChangeEvent({ row })"
min="0"
clearable
/>
</template>
</vxe-column>
<vxe-column
field="kgs"
title="毛重(千克)"
width="100"
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input
v-model="row.kgs"
type="number"
@change="kgsChangeEvent({ row })"
min="0"
clearable
/>
</template>
</vxe-column>
<!-- <vxe-column field="cbm" title="体积" width="100" />-->
<!-- <vxe-column field="pkgs" title="件数" width="100" />-->
<vxe-column
field="pkgs"
title="件数"
@ -117,7 +149,13 @@
:edit-render="{ autofocus: '.vxe-input--inner' }"
>
<template #edit="{ row }">
<vxe-input v-model="row.pkgs" type="number" @change="pkgsChangeEvent({ row })" min="0" clearable />
<vxe-input
v-model="row.pkgs"
type="number"
@change="pkgsChangeEvent({ row })"
min="0"
clearable
/>
</template>
</vxe-column>
<vxe-column
@ -146,17 +184,17 @@
/>
</template>
</vxe-column>
<!-- <vxe-column field="storageunit" title="计费单位" width="150" />-->
<!-- <vxe-column-->
<!-- field="storageunitcount"-->
<!-- title="计费数量"-->
<!-- width="100"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.storageunitcount" type="number" min="0" clearable />-->
<!-- </template>-->
<!-- </vxe-column>-->
<!-- <vxe-column field="storageunit" title="计费单位" width="150" />-->
<!-- <vxe-column-->
<!-- field="storageunitcount"-->
<!-- title="计费数量"-->
<!-- width="100"-->
<!-- :edit-render="{ autofocus: '.vxe-input&#45;&#45;inner' }"-->
<!-- >-->
<!-- <template #edit="{ row }">-->
<!-- <vxe-input v-model="row.storageunitcount" type="number" min="0" clearable />-->
<!-- </template>-->
<!-- </vxe-column>-->
<vxe-column field="storageunit" title="计费单位" width="80" />
<vxe-column field="storageUnitType" title="计费类型" width="80" />
<vxe-column field="storageunitcount" title="计费数量" width="100" />
@ -238,30 +276,59 @@
})
const pkgsChangeEvent = ({ row }: any) => {
console.log(row)
// if (row.storageUnitType == '') {
// //
// if (row.storageunit == '') {
// row.storageunitcount = parseFloat(row.netweight / 1000)
// }
// if (row.storageunit == '') {
// row.storageunitcount = row.netweight
// }
// const $table = xTable.value
// $table.reloadRow(row, {})
// }
// if (row.storageUnitType == '') {
// //
// if (row.storageunit == '') {
// row.storageunitcount = parseFloat(row.kgs / 1000)
// }
// if (row.storageunit == '') {
// row.storageunitcount = row.kgs
// }
// const $table = xTable.value
// $table.reloadRow(row, {})
// }
row.minpkgs = row.pkgs * row.coefficient
}
const netweightChangeEvent = ({ row }: any) => {
console.log(row)
if (row.storageUnitType == '净重') {
//
if (row.storageunit == '吨') {
row.storageunitcount = parseFloat(row.pkgs * row.netweight / 1000)
row.storageunitcount = parseFloat(row.netweight / 1000)
}
if (row.storageunit == '千克') {
row.storageunitcount = row.pkgs * row.netweight
row.storageunitcount = row.netweight
}
const $table = xTable.value
$table.reloadRow(row, {})
}
// console.log(`${column.title} input `)
}
const kgsChangeEvent = ({ row }: any) => {
if (row.storageUnitType == '毛重') {
//
if (row.storageunit == '吨') {
row.storageunitcount = parseFloat((row.pkgs * row.kgs) / 1000)
row.storageunitcount = parseFloat(row.kgs / 1000)
}
if (row.storageunit == '千克') {
row.storageunitcount = row.pkgs * row.kgs
row.storageunitcount = row.kgs
}
const $table = xTable.value
$table.reloadRow(row, {})
}
row.minpkgs = row.pkgs * row.coefficient
}
const palletsChangeEvent = ({ row }: any) => {
if (row.storageUnitType == '体积') {
@ -317,8 +384,8 @@
row.goodsId = obj.goodsId
row.goodsname = obj.goodsname
row.goodscode = obj.goodscode
row.goodshscode = obj.goodshscode===null?'':obj.goodshscode
row.goodsmodel = obj.goodsmodel===null?'':obj.goodsmodel
row.goodshscode = obj.goodshscode === null ? '' : obj.goodshscode
row.goodsmodel = obj.goodsmodel === null ? '' : obj.goodsmodel
row.areacode = obj.areacode
row.areaname = obj.areaname
row.storehouse = obj.storehouse

@ -343,6 +343,11 @@ export const storecolumns: BasicColumn[] = [
dataIndex: 'goodsmodel',
width: 80,
},
{
title: '批次号',
dataIndex: 'goodsmodeL2',
width: 80,
},
{
title: '库位',
dataIndex: 'areacodename',
@ -364,7 +369,17 @@ export const storecolumns: BasicColumn[] = [
width: 100,
},
{
title: '数量',
title: '小件数',
dataIndex: 'minpkgs',
width: 100,
},
{
title: '锁定件数',
dataIndex: 'lockpkgs',
width: 100,
},
{
title: '计费数量',
dataIndex: 'storageunitcount',
width: 100,
},

@ -129,25 +129,45 @@
width: 100,
},
{
title: '毛重(千克)',
field: 'kgs',
title: '批次号',
field: 'goodsmodeL2',
width: 100,
},
{
title: '净重(千克)',
field: 'netweight',
title: '库位',
field: 'areaname',
width: 100,
},
{
title: '体积',
field: 'cbm',
title: '件数',
field: 'pkgs',
width: 100,
},
{
title: '件数',
field: 'pkgs',
title: '小件数',
field: 'minpkgs',
width: 100,
},
// {
// title: '',
// field: 'pallets',
// width: 100,
// },
{
title: '毛重(千克)',
field: 'kgs',
width: 100,
},
{
title: '净重(千克)',
field: 'netweight',
width: 100,
},
// {
// title: '',
// field: 'cbm',
// width: 100,
// },
{
title: '计费单位',
field: 'storageunit',

@ -133,38 +133,53 @@
field: 'goodsmodel',
width: 100,
},
{
title: '批次号',
field: 'goodsmodeL2',
width: 100,
},
{
title: '库位',
field: 'areaname',
width: 100,
},
{
title: '毛重(千克)',
field: 'kgs',
title: '件数',
field: 'pkgs',
width: 100,
},
{
title: '净重(千克)',
field: 'netweight',
title: '小件数',
field: 'minpkgs',
width: 100,
},
// {
// title: '',
// field: 'pallets',
// width: 100,
// },
{
title: '体积',
field: 'cbm',
title: '毛重(千克)',
field: 'kgs',
width: 100,
},
{
title: '件数',
field: 'pkgs',
title: '净重(千克)',
field: 'netweight',
width: 100,
},
// {
// title: '',
// field: 'cbm',
// width: 100,
// },
{
title: '计费单位',
field: 'storageunit',
width: 100,
},
{
title: '数量',
title: '计费数量',
field: 'storageunitcount',
width: 100,
},

@ -599,12 +599,14 @@ public class CommonService : ICommonService
// .LeftJoin<OP_WMS_GOODSFEETYPE>((a, b,c,d,e,f,g) => e.GoodsFeeTypeGID == g.GID)
.Select((a, b,c,d,e,f) => new WmsStoreListPagModel()
{
BILLTYPE = b.BILLTYPE,
STORAGEUNITCOUNT = a.STORAGEUNITCOUNT,
STOREHOUSENAME = c.AREANAME, //手动指定一列在自动映射
AREACODENAME = d.AREANAME,
GOODSMODEL2 = f.GOODSMODEL2,
},
true)
.MergeTable()
.Where(whereList).Where(a => a.ClientId == companyId && a.STORAGEUNITCOUNT >0).ToQueryPage(request.PageCondition);
return data;
}

@ -75,6 +75,16 @@ public class WmsClearanceDetailInput
public decimal? SMALLPKGS { get; set; } = 0;
public decimal? MINPKGS { get; set; } = 0;
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }= "";
/// <summary>
/// 托盘数
/// </summary>
public decimal Pallets { get; set; } = 0;
}
/// <summary>
@ -87,12 +97,14 @@ public class WmsClearanceDetailInputValidator : AbstractValidator<WmsClearanceDe
/// </summary>
public WmsClearanceDetailInputValidator()
{
this.RuleFor(o => o.PKGS)
.GreaterThan(0).WithName("件数必须大于零");
this.RuleFor(o => o.STORAGEUNITCOUNT)
.GreaterThan(0).WithMessage("数量必须大于0")
.GreaterThan(0).WithMessage("计费数量必须大于0")
.Custom((weight, context) => {
if (weight.ToDecimal()<0)
{
context.AddFailure("数量必须为正数!");
context.AddFailure("计费数量必须为正数!");
}
});
}

@ -75,4 +75,28 @@ public class WmsClearanceGoodsListViewModel
public decimal? MINPKGS { get; set; } = 0;
public string AREANAME { get; set; }
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }
/// <summary>
/// 托盘数
/// </summary>
public decimal Pallets { get; set; }
public string StorageUnitType{ get; set; }
/// <summary>
/// 系数
/// </summary>
public decimal? Coefficient
{
get
{
return MINPKGS / PKGS;
}
}
}

@ -166,14 +166,14 @@ public class WmsOutPlanDetailInput
public string TRUCKNO { get; set; }= "";
/// <summary>
///
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }
public string GOODSMODEL2 { get; set; }= "";
/// <summary>
/// 托盘数
/// </summary>
public decimal Pallets { get; set; }
public decimal Pallets { get; set; } = 0;
}
/// <summary>

@ -35,6 +35,10 @@ public class WmsStoreListPagModel
/// </summary>
public decimal? PKGS { get; set; }
/// <summary>
/// 锁库件数
/// </summary>
public decimal? LOCKPKGS { get; set; } = 0;
/// <summary>
/// Desc:
/// </summary>
public decimal? MINPKGS { get; set; }
@ -57,7 +61,7 @@ public class WmsStoreListPagModel
/// <summary>
/// 锁库计费数量
/// </summary>
public decimal? LOCKSTORAGEUNITCOUNT { get; set; }
public decimal? LOCKSTORAGEUNITCOUNT { get; set; } = 0;
/// <summary>
/// 入库日期
@ -125,15 +129,15 @@ public class WmsStoreListPagModel
/// 计费单位类型
/// </summary>
public string StorageUnitType{ get; set; }
/// <summary>
/// 系数
/// </summary>
public decimal? Coefficient
{
get
{
return MINPKGS / PKGS;
}
}
// /// <summary>
// /// 系数
// /// </summary>
// public decimal? Coefficient
// {
// get
// {
// return MINPKGS / PKGS;
// }
//
// }
}

@ -192,6 +192,15 @@ public class OP_WMS_CLEARANCE_DETAIL
public string GOODSMODEL { get; set; }
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }
/// <summary>
/// 托盘数
/// </summary>
public decimal Pallets { get; set; }
/// <summary>
/// 是否PDA执行
/// </summary>

@ -257,9 +257,12 @@ public class WmsClearanceService : IWmsClearanceService
{
var data = db.Queryable<OP_WMS_CLEARANCE_DETAIL>()
.LeftJoin<OP_WMS_STOREHOUSE_AREA>((a, b) => a.AREACODE == b.AREACODE)
.Select((a, b) => new WmsClearanceGoodsListViewModel()
.LeftJoin<code_goods>((a, b,c) => a.GoodsId == c.GID && c.ISSTOP ==false)
.LeftJoin<OP_WMS_GOODSFEETYPE>((a, b,c,d) => c.GoodsFeeTypeGID == d.GID)
.Select((a, b,c,d) => new WmsClearanceGoodsListViewModel()
{
AREANAME = b.AREANAME //手动指定一列在自动映射
AREANAME = b.AREANAME, //手动指定一列在自动映射
StorageUnitType = d.STORAGEUNIT_TYPE,
},
true)
.Where(a => a.WMSPLANID == Guid.Parse(id)).ToList();
@ -330,7 +333,7 @@ public class WmsClearanceService : IWmsClearanceService
}
var wmslist = db.Queryable<OP_WMS>().Where(x => stocklist.Select(x => x.WMSID).Contains(x.WMSID)).ToList();
var wmsbaselist = db.Queryable<OP_WMS_BASE>().Where(x => wmslist.Select(x=>x.WMSBASEID).Contains(x.WMSBASEID)).ToList();
if (wmslist.Any(x => x.BILLTYPE == "0"))
{
return DataResult.Failed("存在非保税库存信息!");
@ -379,6 +382,7 @@ public class WmsClearanceService : IWmsClearanceService
foreach (var item in stocklist)
{
var wms = wmslist.First(x => x.WMSID == item.WMSID);
var wmsbase = wmsbaselist.First(x => x.WMSBASEID == wms.WMSBASEID);
var good = db.Queryable<code_goods>().First(x => x.GID == wms.GoodsId && x.ISSTOP ==false);
var detail = item.Adapt<OP_WMS_CLEARANCE_DETAIL>();
detail.WMSCLEARANCEDETAILID = Guid.NewGuid();
@ -389,6 +393,8 @@ public class WmsClearanceService : IWmsClearanceService
detail.GOODSNAME = wms.GOODSNAME;
detail.GOODSHSCODE = wms.GOODSHSCODE;
detail.GOODSMODEL = good.GOODCODE;
detail.GOODSMODEL2 = wmsbase.GOODSMODEL2;
detail.MINPKGS = detail.PKGS *(wms.MINPKGS/wms.PKGS);
detail.MBLNO = wms.MBLNO;
db.Insertable(detail).ExecuteCommand();

@ -310,7 +310,10 @@ public class WmsOutPlanService : IWmsOutPlanService
}
var stocklist = db.Queryable<OP_WMS_PHYSICS>().Where(x => model.Ids.Contains(x.WMSPHYSICSID.ToString())).ToList();
if (stocklist.Any(x=>x.PKGS == 0))
{
return DataResult.Failed("存在件数为0的信息!");
}
if (stocklist.Any(x=>x.STORAGEUNITCOUNT == 0))
{
return DataResult.Failed("存在库存为0的信息!");
@ -324,6 +327,8 @@ public class WmsOutPlanService : IWmsOutPlanService
var wmslist = db.Queryable<OP_WMS>().Where(x => stocklist.Select(x=>x.WMSID).Contains(x.WMSID)).ToList();
var wmsbaselist = db.Queryable<OP_WMS_BASE>().Where(x => wmslist.Select(x=>x.WMSBASEID).Contains(x.WMSBASEID)).ToList();
if (wmslist.Any(x=>x.BILLTYPE == "1"))
{
return DataResult.Failed("存在保税库存信息!");
@ -370,6 +375,7 @@ public class WmsOutPlanService : IWmsOutPlanService
foreach (var item in stocklist)
{
var wms = wmslist.First(x => x.WMSID == item.WMSID);
var wmsbase = wmsbaselist.First(x => x.WMSBASEID == wms.WMSBASEID);
var good = db.Queryable<code_goods>().First(x => x.GID == wms.GoodsId && x.ISSTOP ==false);
var detail = item.Adapt<OP_WMS_OUT_PLAN_DETAIL>();
detail.WMSOUTDETAILID = Guid.NewGuid();
@ -380,6 +386,8 @@ public class WmsOutPlanService : IWmsOutPlanService
detail.GOODSNAME = wms.GOODSNAME;
detail.GOODSHSCODE = wms.GOODSHSCODE;
detail.GOODSMODEL = good.GOODSMODEL;
detail.GOODSMODEL2 = wmsbase.GOODSMODEL2;
detail.MINPKGS = detail.PKGS *(wms.MINPKGS/wms.PKGS);
detail.MBLNO = wms.MBLNO;
db.Insertable(detail).ExecuteCommand();

@ -5162,3 +5162,133 @@
2023-04-20 19:10:52.3465 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-20 19:10:52.4031 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-20 19:10:52.4234 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:02:11.2570 Info Message Template Auto Format enabled
2023-04-21 09:02:11.3053 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:02:11.7852 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:02:11.7967 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:02:11.8447 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:02:12.1132 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:02:12.1621 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:31:28.5693 Info Shutdown() called. Logger closing...
2023-04-21 09:31:28.5693 Info Closing old configuration.
2023-04-21 09:31:28.6056 Info Logger has been closed down.
2023-04-21 09:31:49.3080 Info Message Template Auto Format enabled
2023-04-21 09:31:49.3318 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:31:49.4528 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:31:49.4528 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:31:49.4811 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:31:49.5399 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:31:49.5538 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:33:17.6703 Info Shutdown() called. Logger closing...
2023-04-21 09:33:17.6719 Info Closing old configuration.
2023-04-21 09:33:17.7158 Info Logger has been closed down.
2023-04-21 09:33:35.3397 Info Message Template Auto Format enabled
2023-04-21 09:33:35.3536 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:33:35.4390 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:33:35.4390 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:33:35.4596 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:33:35.5009 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:33:35.5009 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:34:53.4368 Info Shutdown() called. Logger closing...
2023-04-21 09:34:53.4368 Info Closing old configuration.
2023-04-21 09:34:53.4992 Info Logger has been closed down.
2023-04-21 09:35:11.9490 Info Message Template Auto Format enabled
2023-04-21 09:35:11.9618 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:35:12.0452 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:35:12.0452 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:35:12.0654 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:35:12.1026 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:35:12.1115 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:39:12.5963 Info Shutdown() called. Logger closing...
2023-04-21 09:39:12.5963 Info Closing old configuration.
2023-04-21 09:39:12.6234 Info Logger has been closed down.
2023-04-21 09:39:31.6836 Info Message Template Auto Format enabled
2023-04-21 09:39:31.6959 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:39:31.8028 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:39:31.8109 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:39:31.8305 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:39:31.8912 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:39:31.9052 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:42:19.6229 Info Shutdown() called. Logger closing...
2023-04-21 09:42:19.6237 Info Closing old configuration.
2023-04-21 09:42:19.6573 Info Logger has been closed down.
2023-04-21 09:42:41.4795 Info Message Template Auto Format enabled
2023-04-21 09:42:41.4909 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:42:41.5682 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:42:41.5682 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:42:41.5932 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:42:41.6314 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:42:41.6395 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:44:00.8643 Info Shutdown() called. Logger closing...
2023-04-21 09:44:00.8643 Info Closing old configuration.
2023-04-21 09:44:00.9105 Info Logger has been closed down.
2023-04-21 09:44:34.0569 Info Message Template Auto Format enabled
2023-04-21 09:44:34.0691 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:44:34.1490 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:44:34.1490 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:44:34.1675 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:44:34.2041 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:44:34.2041 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:55:51.9989 Info Shutdown() called. Logger closing...
2023-04-21 09:55:51.9989 Info Closing old configuration.
2023-04-21 09:55:52.0441 Info Logger has been closed down.
2023-04-21 09:56:19.5660 Info Message Template Auto Format enabled
2023-04-21 09:56:19.5793 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:56:19.6739 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:56:19.6739 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:56:19.7017 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:56:19.7665 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:56:19.7798 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 10:18:15.7577 Info Shutdown() called. Logger closing...
2023-04-21 10:18:15.7577 Info Closing old configuration.
2023-04-21 10:18:15.7961 Info Logger has been closed down.
2023-04-21 10:18:38.9054 Info Message Template Auto Format enabled
2023-04-21 10:18:38.9054 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 10:18:38.9929 Info Adding target FileTarget(Name=allfile)
2023-04-21 10:18:38.9988 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 10:18:38.9988 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 10:18:39.0494 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 10:18:39.0494 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:02:40.0189 Info Shutdown() called. Logger closing...
2023-04-21 14:02:40.0189 Info Closing old configuration.
2023-04-21 14:02:40.0486 Info Logger has been closed down.
2023-04-21 14:03:07.1602 Info Message Template Auto Format enabled
2023-04-21 14:03:07.1708 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:03:07.2479 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:03:07.2479 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:03:07.2643 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:03:07.3093 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:03:07.3187 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:05:49.7769 Info Shutdown() called. Logger closing...
2023-04-21 14:05:49.7769 Info Closing old configuration.
2023-04-21 14:05:49.8072 Info Logger has been closed down.
2023-04-21 14:06:14.1587 Info Message Template Auto Format enabled
2023-04-21 14:06:14.1778 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:06:14.2694 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:06:14.2694 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:06:14.2914 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:06:14.3374 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:06:14.3485 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:19:49.2826 Info Shutdown() called. Logger closing...
2023-04-21 14:19:49.2826 Info Closing old configuration.
2023-04-21 14:19:49.3169 Info Logger has been closed down.
2023-04-21 14:20:22.7722 Info Message Template Auto Format enabled
2023-04-21 14:20:22.8153 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:20:23.0954 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:20:23.0954 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:20:23.1384 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:20:23.2292 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:20:23.2505 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 16:07:07.6220 Info Shutdown() called. Logger closing...
2023-04-21 16:07:07.6235 Info Closing old configuration.
2023-04-21 16:07:07.6708 Info Logger has been closed down.
2023-04-21 16:07:33.6407 Info Message Template Auto Format enabled
2023-04-21 16:07:33.6617 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 16:07:33.8348 Info Adding target FileTarget(Name=allfile)
2023-04-21 16:07:33.8431 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 16:07:33.8813 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 16:07:33.9353 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-client\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 16:07:33.9353 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 18:08:38.7095 Info Shutdown() called. Logger closing...
2023-04-21 18:08:38.7095 Info Closing old configuration.
2023-04-21 18:08:38.7710 Info Logger has been closed down.

@ -1,3 +1,6 @@
using DS.Module.Core.Extensions;
using FluentValidation;
namespace DS.WMS.Core.App.Dtos;
public class ClearanceMovePlanGoodsBatchInput
@ -94,9 +97,30 @@ public class ClearanceMovePlanGoodsInput
/// 新库位
/// </summary>
public string MOVEAREACODE { get; set; } = "";
/// <summary>
///
/// </summary>
public string GOODSMODEL2 { get; set; } = "";
/// <summary>
/// 是否PDA执行
/// </summary>
public bool? ISEXECUTE { get; set; } = false;
}
public class ClearanceMovePlanGoodsInputValidation : AbstractValidator<ClearanceMovePlanGoodsInput>
{
public ClearanceMovePlanGoodsInputValidation()
{
this.RuleFor(o => o.PKGS)
.GreaterThan(0).WithName("件数必须大于零");
this.RuleFor(o => o.STORAGEUNITCOUNT)
.GreaterThan(0).WithMessage("计费数量必须大于0")
.Custom((weight, context) =>
{
if (weight.ToDecimal() < 0)
{
context.AddFailure("计费数量必须为正数!");
}
});
}
}

@ -1,3 +1,6 @@
using DS.Module.Core.Extensions;
using FluentValidation;
namespace DS.WMS.Core.App.Dtos;
public class ClearanceOutPlanGoodsInput
@ -72,8 +75,31 @@ public class ClearanceOutPlanGoodsInput
public decimal? MINPKGS { get; set; } = 0;
/// <summary>
///
/// </summary>
public string GOODSMODEL2 { get; set; } = "";
/// <summary>
/// 是否PDA执行
/// </summary>
public bool? ISEXECUTE { get; set; } = false;
}
public class ClearanceOutPlanGoodsInputValidation : AbstractValidator<ClearanceOutPlanGoodsInput>
{
public ClearanceOutPlanGoodsInputValidation()
{
this.RuleFor(o => o.PKGS)
.GreaterThan(0).WithName("件数必须大于零");
this.RuleFor(o => o.STORAGEUNITCOUNT)
.GreaterThan(0).WithMessage("计费数量必须大于0")
.Custom((weight, context) =>
{
if (weight.ToDecimal() < 0)
{
context.AddFailure("计费数量必须为正数!");
}
});
}
}

@ -91,4 +91,21 @@ public class ClearanceOutPlanGoodsViewModel
/// 库位
/// </summary>
public string AREANAME { get; set; } = "";
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; } = "";
public string StorageUnitType{ get; set; }
/// <summary>
/// 系数
/// </summary>
public decimal? Coefficient
{
get
{
return MINPKGS / PKGS;
}
}
}

@ -1,4 +1,5 @@
using DS.Module.Core;
using DS.Module.Core.Extensions;
using FluentValidation;
namespace DS.WMS.Core.App.Dtos;
@ -126,12 +127,22 @@ public class StockInPlanGoodsInputValidation : AbstractValidator<StockInPlanGood
public StockInPlanGoodsInputValidation()
{
// this.RuleFor(o => o.PKGS)
// .NotEmpty().WithMessage("件数不能为空")
// .Must(PKGSCheck);
// this.RuleFor(o => o.STORAGEUNITCOUNT)
// .NotEmpty().WithMessage("计费数量不能为空")
// .Must(STORAGEUNITCOUNTCheck);
this.RuleFor(o => o.PKGS)
.NotEmpty().WithMessage("件数不能为空")
.Must(PKGSCheck);
.GreaterThan(0).WithName("件数必须大于零");
this.RuleFor(o => o.STORAGEUNITCOUNT)
.NotEmpty().WithMessage("计费数量不能为空")
.Must(STORAGEUNITCOUNTCheck);
.GreaterThan(0).WithMessage("计费数量必须大于0")
.Custom((weight, context) => {
if (weight.ToDecimal()<0)
{
context.AddFailure("计费数量必须为正数!");
}
});
}
private bool KGSCheck(StockInPlanGoodsInput instance, decimal? amount,

@ -1,4 +1,5 @@
using DS.Module.Core;
using DS.Module.Core.Extensions;
using FluentValidation;
namespace DS.WMS.Core.App.Dtos;
@ -158,6 +159,11 @@ public class StockOutPlanGoodsInput
///
/// </summary>
public string GOODSMODEL { get; set; } = "";
/// <summary>
///
/// </summary>
public string GOODSMODEL2 { get; set; } = "";
/// <summary>
///
@ -172,9 +178,19 @@ public class StockOutPlanGoodsInputValidation : AbstractValidator<StockOutPlanGo
// this.RuleFor(o => o.PKGS)
// .NotEmpty().WithMessage("件数不能为空")
// .Must(PKGSCheck);
// this.RuleFor(o => o.STORAGEUNITCOUNT)
// .NotEmpty().WithMessage("计费数量不能为空")
// .Must(STORAGEUNITCOUNTCheck);
this.RuleFor(o => o.PKGS)
.GreaterThan(0).WithName("件数必须大于零");
this.RuleFor(o => o.STORAGEUNITCOUNT)
.NotEmpty().WithMessage("数量不能为空")
.Must(STORAGEUNITCOUNTCheck);
.GreaterThan(0).WithMessage("计费数量必须大于0")
.Custom((weight, context) => {
if (weight.ToDecimal()<0)
{
context.AddFailure("计费数量必须为正数!");
}
});
}
private bool STORAGEUNITCOUNTCheck(StockOutPlanGoodsInput instance, decimal? amount,
@ -191,6 +207,22 @@ public class StockOutPlanGoodsInputValidation : AbstractValidator<StockOutPlanGo
}
}
return true;
}
private bool PKGSCheck(StockOutPlanGoodsInput instance, decimal? amount,
ValidationContext<StockOutPlanGoodsInput> context)
{
// 必须是正数且最多有6位小数
if (amount.HasValue)
{
var moneyCheck = amount.Value.CheckMoney("件数", true, 6);
if (!moneyCheck.isSuccess)
{
context.AddFailure(moneyCheck.errMsg);
return false;
}
}
return true;
}
}

@ -144,65 +144,7 @@ public class StockOutPlanGoodsViewModel
/// </summary>
public string PALLET { get; set; }
/// <summary>
///
/// </summary>
public bool? BOOLFIELD_01 { get; set; }
/// <summary>
///
/// </summary>
public bool? BOOLFIELD_02 { get; set; }
/// <summary>
///
/// </summary>
public bool? BOOLFIELD_03 { get; set; }
/// <summary>
///
/// </summary>
public bool? BOOLFIELD_04 { get; set; }
/// <summary>
///
/// </summary>
public bool? BOOLFIELD_05 { get; set; }
/// <summary>
///
/// </summary>
public bool? BOOLFIELD_06 { get; set; }
/// <summary>
///
/// </summary>
public string STRFIELD_01 { get; set; }
/// <summary>
///
/// </summary>
public string STRFIELD_02 { get; set; }
/// <summary>
///
/// </summary>
public string STRFIELD_03 { get; set; }
/// <summary>
///
/// </summary>
public string STRFIELD_04 { get; set; }
/// <summary>
///
/// </summary>
public string STRFIELD_05 { get; set; }
/// <summary>
///
/// </summary>
public string STRFIELD_06 { get; set; }
/// <summary>
///
@ -220,7 +162,10 @@ public class StockOutPlanGoodsViewModel
///
/// </summary>
public string GOODSMODEL { get; set; } = "";
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; } = "";
/// <summary>
///
/// </summary>
@ -244,4 +189,16 @@ public class StockOutPlanGoodsViewModel
/// 库位
/// </summary>
public string AREANAME { get; set; } = "";
public string StorageUnitType{ get; set; }
/// <summary>
/// 系数
/// </summary>
public decimal? Coefficient
{
get
{
return MINPKGS / PKGS;
}
}
}

@ -18,4 +18,12 @@ public class WmsSummaryInfo
/// 库位选择数据源
/// </summary>
public List<AreaListViewModel> AreaList { get; set; }
/// <summary>
///
/// </summary>
public string MOVESTOREHOUSE { get; set; }
public string MOVESTOREHOUSENAME { get; set; }
}

@ -7,6 +7,7 @@ using DS.WMS.Core.App.Interface;
using DS.WMS.Core.BaseInfo.Entity;
using DS.WMS.Core.System.Entity;
using DS.WMS.Core.WmsModule.Entity;
using DS.WMS.Core.WmsModule.Interface;
using Mapster;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
@ -20,7 +21,7 @@ public class AppClearanceService : IAppClearanceService
private readonly IServiceProvider _serviceProvider;
private readonly ISqlSugarClient db;
private readonly IUser user;
private readonly IWmsCommonService _wmsCommonService;
/// <summary>
///
/// </summary>
@ -30,6 +31,7 @@ public class AppClearanceService : IAppClearanceService
_serviceProvider = serviceProvider;
db = _serviceProvider.GetRequiredService<ISqlSugarClient>();
user = _serviceProvider.GetRequiredService<IUser>();
_wmsCommonService = _serviceProvider.GetRequiredService<IWmsCommonService>();
}
public DataResult GetClearancePlanList(ClearancePlanQueryModel model)
@ -77,6 +79,7 @@ public class AppClearanceService : IAppClearanceService
data.TRUCKNO = model.TRUCKNO;
data.MBLNO = info.MBLNO;
data.STOREHOUSENAME = store.AREANAME;
data.MOVESTOREHOUSENAME = db.Queryable<OP_WMS_STOREHOUSE>().First(x => x.AREACODE == info.MoveStoreHouse).AREANAME;
data.AreaList = db.Queryable<OP_WMS_STOREHOUSE_AREA>()
.LeftJoin<OP_WMS_STOREHOUSE>((a, b) => a.Pid == b.Id)
@ -92,7 +95,7 @@ public class AppClearanceService : IAppClearanceService
public DataResult GetClearanceGoodsInfo(StockGoodsQueryModel model)
{
var goods = db.Queryable<OP_WMS_CLEARANCE_DETAIL>().Where(a => a.WMSPLANID == model.WMSPLANID)
var goods = db.Queryable<OP_WMS_CLEARANCE_DETAIL>().Where(a => a.WMSPLANID == model.WMSPLANID && a.ISEXECUTE ==false)
.LeftJoin<code_goods>((a, b) => a.GoodsId == b.GID && b.ISSTOP ==false)
.Where((a, b) => b.PinYinCode.Contains(model.Code))
.LeftJoin(
@ -100,17 +103,19 @@ public class AppClearanceService : IAppClearanceService
"select WMSPLANDETAILID, sum(PKGS) AS PKGS,SUM(STORAGEUNITCOUNT) AS STORAGEUNITCOUNT from OP_WMS_OUT_DO_GOODS WHERE WMSPLANDETAILID is not null GROUP BY WMSPLANDETAILID"),
(a, b, StockDoGoods) => a.WMSCLEARANCEDETAILID == StockDoGoods.WMSPLANDETAILID)
.LeftJoin<OP_WMS_STOREHOUSE_AREA>((a, b, StockDoGoods, d) => a.AREACODE == d.AREACODE)
.Select((a, b, StockDoGoods, d) => new ClearanceOutPlanGoodsViewModel()
.LeftJoin<OP_WMS_GOODSFEETYPE>((a, b, StockDoGoods, d,f) => b.GoodsFeeTypeGID == f.GID)
.Select((a, b, StockDoGoods, d,f) => new ClearanceOutPlanGoodsViewModel()
{
PKGS = a.PKGS,
STORAGEUNITCOUNT = a.STORAGEUNITCOUNT,
DOSTORAGEUNITCOUNT = StockDoGoods.STORAGEUNITCOUNT,
DOPKGS = StockDoGoods.PKGS, //手动指定一列在自动映射
AREANAME = d.AREANAME
AREANAME = d.AREANAME,
StorageUnitType = f.STORAGEUNIT_TYPE,
},
true)
.First();
if (goods.IsNull())
.Take(5).ToList();
if (goods.Count == 0)
{
return DataResult.Failed("未检索到数据!");
}
@ -175,9 +180,14 @@ public class AppClearanceService : IAppClearanceService
doGoods.WMSDODETAILID = Guid.NewGuid();
doGoods.WMSDOID = doId;
doGoods.WMSPLANDETAILID = item.WMSCLEARANCEDETAILID;
// doGoods.PKGS = item.PKGS;
doGoods.PKGS = item.PKGS;
doGoods.MINPKGS = item.MINPKGS;
doGoods.KGS = item.KGS;
doGoods.NETWEIGHT = item.NETWEIGHT;
doGoods.KINDPKGS = item.KINDPKGS;
doGoods.STORAGEUNITCOUNT = item.STORAGEUNITCOUNT;
doGoods.STOREHOUSE = stockDo.STOREHOUSE;
doGoods.GOODSMODEL2 = item.GOODSMODEL2;
doGoodsList.Add(doGoods);
}
@ -217,35 +227,55 @@ public class AppClearanceService : IAppClearanceService
var stockids = model.Goods.Select(x => x.WMSPHYSICSID).ToList();
var stocklist = db.Queryable<OP_WMS_PHYSICS>().Where(x => stockids.Contains(x.WMSPHYSICSID)).ToList();
// foreach (var item in model.Goods)
// {
// var stockinfo = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
//
// if (item.STORAGEUNITCOUNT > stockinfo.STORAGEUNITCOUNT)
foreach (var item in model.Goods)
{
var stockinfo = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
if (item.PKGS > stockinfo.LOCKPKGS)
{
return DataResult.Failed("清关计划明细商品[" + item.GOODSNAME +"]锁定库存数量:" + stockinfo.LOCKPKGS +" 不足,不能审批!");
}
// if (item.STORAGEUNITCOUNT > stockinfo.LOCKSTORAGEUNITCOUNT)
// {
// return DataResult.Failed("清关计划明细商品[" + item.GOODSNAME +"]计费数量:" + stockinfo.STORAGEUNITCOUNT +" 不足,不能审批!");
// }
// return DataResult.Failed("清关计划明细商品[" + item.GOODSNAME +"]锁定计费数量:" + stockinfo.LOCKSTORAGEUNITCOUNT +" 不足,不能审批!");
// }
}
try
{
//开启事务
db.Ado.BeginTran();
#region 处理锁库数量
#region 处理移库相关逻辑
foreach (var item in model.Goods)
{
var wms = db.Queryable<OP_WMS>().First(x => x.WMSID == item.WMSID);
wms.BILLTYPE = "0"; //改为非保税
db.Updateable(wms).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
var stocking = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
stocking.STOREHOUSE = plan.MoveStoreHouse;
stocking.AREACODE = item.MOVEAREACODE;
stocking.STORAGEUNITCOUNT += item.STORAGEUNITCOUNT;
stocking.LOCKSTORAGEUNITCOUNT -= item.STORAGEUNITCOUNT;
db.Updateable(stocking).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
var oldwms = _wmsCommonService.OpWmsReduce_ClearanceMove(wms,item).Data;
db.Updateable(oldwms).ExecuteCommand();
var oldwmsChange = _wmsCommonService.OpWmsChange_ClearanceMove(wms,plan,item).Data;
db.Updateable(oldwmsChange).ExecuteCommand();
var oldwmsPhysicsChange = _wmsCommonService.OpWmsPhysicsChange_ClearanceMove(stocking,plan,item).Data;
db.Updateable(oldwmsPhysicsChange).ExecuteCommand();
var oldphysics = _wmsCommonService.OpWmsPhysicsReduce_ClearanceMove(stocking,item).Data;
db.Updateable(oldphysics).ExecuteCommand();
var newWms = _wmsCommonService.OpWmsInit_ClearanceMove(wms,item).Data;
db.Insertable(newWms).ExecuteCommand();
var newWmsChange = _wmsCommonService.InitOpWmsChange_ClearanceMove(newWms,plan,item).Data;
db.Insertable(newWmsChange).ExecuteCommand();
var newphysics = _wmsCommonService.InitOpWmsPhysics_ClearanceMove(newWms,plan,item).Data;
db.Insertable(newphysics).ExecuteCommand();
var newWmsPhysicsChange = _wmsCommonService.InitOpWmsPhysicsChange_ClearanceMove(newWms.WMSID,newphysics.WMSPHYSICSID,item).Data;
db.Insertable(newWmsPhysicsChange).ExecuteCommand();
//处理执行标识
var detail = db.Queryable<OP_WMS_CLEARANCE_DETAIL>()

@ -100,7 +100,7 @@ public class AppStockInService : IAppStockInService
public DataResult GetStockInGoodsInfo(StockGoodsQueryModel model)
{
var goods = db.Queryable<OP_WMS_IN_PLAN_GOODS>().Where(a => a.WMSPLANID == model.WMSPLANID)
var goods = db.Queryable<OP_WMS_IN_PLAN_GOODS>().Where(a => a.WMSPLANID == model.WMSPLANID && a.ISEXECUTE ==false)
.LeftJoin<code_goods>((a, b) => a.GoodsId == b.GID && b.ISSTOP ==false)
.Where((a, b) => b.PinYinCode.Contains(model.Code))
.LeftJoin<OP_WMS_GOODSFEETYPE>((a, b,c) => b.GoodsFeeTypeGID == c.GID)
@ -120,6 +120,10 @@ public class AppStockInService : IAppStockInService
// .Select<StockInPlanGoodsViewModel>()
// .Where(a => a.STORAGEUNITCOUNT > b.DOSTORAGEUNITCOUNT)
.Take(5).ToList();
if (goods.Count == 0)
{
return DataResult.Failed("未检索到数据!");
}
return DataResult.Successed("获取数据成功", goods);
}

@ -85,7 +85,7 @@ public class AppStockOutService:IAppStockOutService
public DataResult GetStockOutGoodsInfo(StockGoodsQueryModel model)
{
var goods = db.Queryable<OP_WMS_OUT_PLAN_DETAIL>().Where(a => a.WMSPLANID == model.WMSPLANID)
var goods = db.Queryable<OP_WMS_OUT_PLAN_DETAIL>().Where(a => a.WMSPLANID == model.WMSPLANID && a.ISEXECUTE ==false)
.LeftJoin<code_goods>((a, b) => a.GoodsId == b.GID && b.ISSTOP ==false)
.Where((a, b) => b.PinYinCode.Contains(model.Code))
.LeftJoin(
@ -93,17 +93,19 @@ public class AppStockOutService:IAppStockOutService
"select WMSPLANDETAILID, sum(PKGS) AS PKGS,SUM(STORAGEUNITCOUNT) AS STORAGEUNITCOUNT from OP_WMS_OUT_DO_GOODS WHERE WMSPLANDETAILID is not null GROUP BY WMSPLANDETAILID"),
(a, b, StockDoGoods) => a.WMSOUTDETAILID == StockDoGoods.WMSPLANDETAILID)
.LeftJoin<OP_WMS_STOREHOUSE_AREA>((a, b, StockDoGoods, d) => a.AREACODE == d.AREACODE)
.Select((a, b, StockDoGoods, d) => new StockOutPlanGoodsViewModel()
.LeftJoin<OP_WMS_GOODSFEETYPE>((a, b, StockDoGoods, d,f) => b.GoodsFeeTypeGID == f.GID)
.Select((a, b, StockDoGoods, d,f) => new StockOutPlanGoodsViewModel()
{
PKGS = a.PKGS,
STORAGEUNITCOUNT = a.STORAGEUNITCOUNT,
DOSTORAGEUNITCOUNT = StockDoGoods.STORAGEUNITCOUNT,
DOPKGS = StockDoGoods.PKGS, //手动指定一列在自动映射
AREANAME = d.AREANAME
AREANAME = d.AREANAME,
StorageUnitType = f.STORAGEUNIT_TYPE,
},
true)
.First();
if (goods.IsNull())
.Take(5).ToList();
if (goods.Count == 0)
{
return DataResult.Failed("未检索到数据!");
}
@ -168,9 +170,14 @@ public class AppStockOutService:IAppStockOutService
doGoods.WMSDODETAILID = Guid.NewGuid();
doGoods.WMSDOID = doId;
doGoods.WMSPLANDETAILID = item.WMSOUTDETAILID;
// doGoods.PKGS = item.PKGS;
doGoods.PKGS = item.PKGS;
doGoods.MINPKGS = item.MINPKGS;
doGoods.KGS = item.KGS;
doGoods.NETWEIGHT = item.NETWEIGHT;
doGoods.KINDPKGS = item.KINDPKGS;
doGoods.STORAGEUNITCOUNT = item.STORAGEUNITCOUNT;
doGoods.STOREHOUSE = stockDo.STOREHOUSE;
doGoods.GOODSMODEL2 = item.GOODSMODEL2;
doGoodsList.Add(doGoods);
}

@ -75,4 +75,14 @@ public class WmsClearanceGoodsListViewModel
public decimal? MINPKGS { get; set; } = 0;
public string AREANAME { get; set; }
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }= "";
/// <summary>
/// 托盘数
/// </summary>
public decimal Pallets { get; set; } = 0;
}

@ -190,7 +190,15 @@ public class OP_WMS_CLEARANCE_DETAIL
public decimal? MINPKGS { get; set; }
public string GOODSMODEL { get; set; }
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }= "";
/// <summary>
/// 托盘数
/// </summary>
public decimal Pallets { get; set; } = 0;
/// <summary>
/// 是否PDA执行
/// </summary>

@ -43,6 +43,11 @@
/// </summary>
public string GOODSMODEL { get; set; }
/// <summary>
/// 批次号
/// </summary>
public string GOODSMODEL2 { get; set; }
/// <summary>
///
/// </summary>

@ -1,3 +1,5 @@
using DS.WMS.Core.App.Dtos;
namespace DS.WMS.Core.WmsModule.Entity;
public struct WMSCHANGTYPE
@ -69,6 +71,44 @@ public partial class OP_WMS_CHANGE
CHANGETYPE = WMSCHANGTYPE.;
}
/// <summary>
/// 清关移库 入库
/// </summary>
/// <param name="ingoods"></param>
public void setNew(ClearanceMovePlanGoodsInput ingoods) {
KGS2 = 0;
NETWEIGHT2 = 0;
CBM2 = 0;
PKGS2 = 0;
SMALLPKGS2 = 0;
MINPKGS2 = 0;
KINDPKGS2 = "";
PAYEDTAXES2 = false;
STORAGEUNIT2 = "";
STORAGEUNITCOUNT2 = 0;
RULEUNIT2 = "";
RULEUNITCOUNT2 = 0;
KGS3 = KGS;
NETWEIGHT3 = NETWEIGHT;
CBM3 = CBM;
PKGS3 = PKGS;
SMALLPKGS3 = SMALLPKGS;
MINPKGS3 = MINPKGS;
KINDPKGS3 = KINDPKGS;
PAYEDTAXES3 = false;
STORAGEUNIT3 = STORAGEUNIT;
STORAGEUNITCOUNT3 = STORAGEUNITCOUNT;
RULEUNIT3 = RULEUNIT;
RULEUNITCOUNT3 = RULEUNITCOUNT;
DOBSNO = ingoods.WMSPLANID.ToString();
DOGID = ingoods.WMSCLEARANCEDETAILID;
CHANGETYPE = WMSCHANGTYPE.;
}
/// <summary>
///
/// </summary>
[SqlSugar.SugarColumn(IsPrimaryKey = true)]

@ -1,3 +1,5 @@
using DS.WMS.Core.App.Dtos;
namespace DS.WMS.Core.WmsModule.Entity;
///<summary>
@ -49,6 +51,42 @@ public partial class OP_WMS_PHYSICS_CHANGE
DOGID = ingoods.WMSDODETAILID.ToString();
CHANGETYPE = WMSCHANGTYPE.;
}
public void setNew(ClearanceMovePlanGoodsInput ingoods)
{
KGS2 = 0;
NETWEIGHT2 = 0;
CBM2 = 0;
PKGS2 = 0;
SMALLPKGS2 = 0;
MINPKGS2 = 0;
KINDPKGS2 = "";
STORAGEUNIT2 = "";
STORAGEUNITCOUNT2 = 0;
RULEUNIT2 = "";
RULEUNITCOUNT2 = 0;
STOREHOUSE2 = ingoods.STOREHOUSE;
AREACODE2 = ingoods.AREACODE;
KGS3 = KGS;
NETWEIGHT3 = NETWEIGHT;
CBM3 = CBM;
PKGS3 = PKGS;
SMALLPKGS3 = SMALLPKGS;
MINPKGS3 = MINPKGS;
KINDPKGS3 = KINDPKGS;
STOREHOUSE3 = STOREHOUSE;
AREACODE3 = AREACODE;
STORAGEUNIT3 = STORAGEUNIT;
STORAGEUNITCOUNT3 = STORAGEUNITCOUNT;
RULEUNIT3 = RULEUNIT;
RULEUNITCOUNT3 = RULEUNITCOUNT;
DOBSNO = ingoods.WMSPLANID.ToString();
DOGID = ingoods.WMSCLEARANCEDETAILID.ToString();
CHANGETYPE = WMSCHANGTYPE.;
}
/// <summary>
///
/// </summary>

@ -1,4 +1,5 @@
using DS.Module.Core;
using DS.WMS.Core.App.Dtos;
using DS.WMS.Core.WmsModule.Entity;
namespace DS.WMS.Core.WmsModule.Interface;
@ -75,4 +76,81 @@ public interface IWmsCommonService
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS> OpWmsPhysicsOutReduce (OP_WMS_PHYSICS physics,OP_WMS_OUT_DO_GOODS doGoods);
#region 清关移库
/// <summary>
/// 清关移库 原 OP_WMS减库存
/// </summary>
/// <param name="wms"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS> OpWmsReduce_ClearanceMove(OP_WMS wms, ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 清关移库 原库存 OP_WMS_CHANGE
/// </summary>
/// <param name="wms"></param>
/// <param name="wmsOutDo"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_CHANGE> OpWmsChange_ClearanceMove(OP_WMS wms, OP_WMS_CLEARANCE wmsClearance,
ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 初始化 新库存 OP_WMS
/// </summary>
/// <param name="wms"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS> OpWmsInit_ClearanceMove(OP_WMS wms, ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 清关移库 新库存 OP_WMS_CHANGE 初始化
/// </summary>
/// <param name="wms"></param>
/// <param name="wmsInDo"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_CHANGE> InitOpWmsChange_ClearanceMove(OP_WMS wms, OP_WMS_CLEARANCE wmsInDo,
ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 清关移库 原库存 OP_WMS_PHYSICS减少
/// </summary>
/// <param name="physics"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS> OpWmsPhysicsReduce_ClearanceMove(OP_WMS_PHYSICS physics,
ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 清关移库 原库存 OP_WMS_PHYSICS_CHANGE
/// </summary>
/// <param name="physics"></param>
/// <param name="wmsClearance"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS_CHANGE> OpWmsPhysicsChange_ClearanceMove(OP_WMS_PHYSICS physics,
OP_WMS_CLEARANCE wmsClearance,
ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 清关移库 新库存 初始化OP_WMS_PHYSICS
/// </summary>
/// <param name="wms"></param>
/// <param name="wmsInDo"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS> InitOpWmsPhysics_ClearanceMove(OP_WMS wms, OP_WMS_CLEARANCE wmsInDo,
ClearanceMovePlanGoodsInput doGoods);
/// <summary>
/// 清关移库 新库存 初始化OpWmsPhysicsChange
/// </summary>
/// <param name="wmsId"></param>
/// <param name="physicsId"></param>
/// <param name="doDate"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS_CHANGE> InitOpWmsPhysicsChange_ClearanceMove(Guid wmsId, Guid physicsId,
ClearanceMovePlanGoodsInput doGoods);
#endregion
}

@ -96,10 +96,10 @@ public class WmsClearanceService:IWmsClearanceService
foreach (var item in goods)
{
var stockinfo = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
// if (item.PKGS > stockinfo.PKGS)
// {
// return DataResult.Failed("清关计划明细商品[" + item.GOODSNAME +"]库存数量:" + stockinfo.PKGS +" 不足,不能审批!");
// }
if (item.PKGS > stockinfo.PKGS)
{
return DataResult.Failed("清关计划明细商品[" + item.GOODSNAME +"]库存数量:" + stockinfo.PKGS +" 不足,不能审批!");
}
if (item.STORAGEUNITCOUNT > stockinfo.STORAGEUNITCOUNT)
{
return DataResult.Failed("清关计划明细商品[" + item.GOODSNAME +"]计费数量:" + stockinfo.STORAGEUNITCOUNT +" 不足,不能审批!");
@ -124,8 +124,9 @@ public class WmsClearanceService:IWmsClearanceService
{
var stockinfo = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
stockinfo.PKGS -= item.PKGS;
stockinfo.STORAGEUNITCOUNT -= item.STORAGEUNITCOUNT;
// item.LOCKPKGS += plangoods.PKGS;
stockinfo.LOCKPKGS += item.PKGS;
stockinfo.LOCKSTORAGEUNITCOUNT += item.STORAGEUNITCOUNT;
db.Updateable(stockinfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}

@ -1,6 +1,7 @@
using DS.Module.Core;
using DS.Module.Core.Extensions;
using DS.Module.UserModule;
using DS.WMS.Core.App.Dtos;
using DS.WMS.Core.WmsModule.Entity;
using DS.WMS.Core.WmsModule.Interface;
using Mapster;
@ -29,6 +30,8 @@ public class WmsCommonService : IWmsCommonService
user = _serviceProvider.GetRequiredService<IUser>();
}
#region 入库确认
/// <summary>
/// 初始化库存信息
/// </summary>
@ -146,6 +149,11 @@ public class WmsCommonService : IWmsCommonService
return DataResult<OP_WMS_PHYSICS_CHANGE>.Success(change);
}
#endregion
#region 出库确认
/// <summary>
/// 出库确认变更OP_WMS_CHANGE
/// </summary>
@ -227,10 +235,10 @@ public class WmsCommonService : IWmsCommonService
change.CHANGETYPE = WMSCHANGTYPE.;
change.CBM2 = physics.CBM;
change.KGS2 = physics.KGS;
change.PKGS2 = physics.PKGS;
change.PKGS2 = physics.PKGS + doGoods.PKGS;
change.SMALLPKGS2 = physics.SMALLPKGS;
change.MINPKGS2 = physics.MINPKGS;
change.STORAGEUNITCOUNT2 = physics.STORAGEUNITCOUNT + physics.LOCKSTORAGEUNITCOUNT;
change.STORAGEUNITCOUNT2 = physics.STORAGEUNITCOUNT + doGoods.STORAGEUNITCOUNT;
change.RULEUNITCOUNT2 = physics.RULEUNITCOUNT;
change.NETWEIGHT2 = physics.NETWEIGHT;
@ -245,7 +253,7 @@ public class WmsCommonService : IWmsCommonService
change.CBM3 = physics.CBM - doGoods.CBM;
change.KGS3 = physics.KGS - doGoods.KGS;
change.PKGS3 = physics.PKGS - doGoods.PKGS;
change.PKGS3 = physics.PKGS + physics.LOCKPKGS - doGoods.PKGS;
change.SMALLPKGS3 = physics.SMALLPKGS - doGoods.SMALLPKGS;
change.MINPKGS3 = physics.MINPKGS - doGoods.MINPKGS;
change.STORAGEUNITCOUNT3 = physics.STORAGEUNITCOUNT + physics.LOCKSTORAGEUNITCOUNT - doGoods.STORAGEUNITCOUNT;
@ -261,13 +269,243 @@ public class WmsCommonService : IWmsCommonService
physics.CBM -= doGoods.CBM;
physics.NETWEIGHT -= doGoods.NETWEIGHT;
physics.KGS -= doGoods.KGS;
// physics.LOCKPKGS = - doGoods.PKGS;
physics.LOCKPKGS -= doGoods.PKGS;
physics.LOCKSTORAGEUNITCOUNT -= doGoods.STORAGEUNITCOUNT;
// physics.PKGS -= doGoods.PKGS;
physics.SMALLPKGS -= doGoods.SMALLPKGS;
physics.MINPKGS -= doGoods.MINPKGS;
// physics.STORAGEUNITCOUNT = physics.STORAGEUNITCOUNT - doGoods.STORAGEUNITCOUNT;
physics.RULEUNITCOUNT -= doGoods.RULEUNITCOUNT;
return DataResult<OP_WMS_PHYSICS>.Success(physics);
}
#endregion
#region 清关移库
/// <summary>
/// 清关移库 原 OP_WMS减库存
/// </summary>
/// <param name="wms"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS> OpWmsReduce_ClearanceMove(OP_WMS wms, ClearanceMovePlanGoodsInput doGoods)
{
wms.KGS -= doGoods.KGS;
wms.NETWEIGHT -= doGoods.NETWEIGHT;
wms.CBM -= doGoods.CBM;
wms.PKGS -= doGoods.PKGS;
wms.SMALLPKGS -= doGoods.SMALLPKGS;
wms.MINPKGS -= doGoods.MINPKGS;
wms.STORAGEUNITCOUNT -= doGoods.STORAGEUNITCOUNT;
wms.RULEUNITCOUNT -= doGoods.RULEUNITCOUNT;
return DataResult<OP_WMS>.Success(wms);
}
/// <summary>
/// 清关移库 原库存 OP_WMS_CHANGE
/// </summary>
/// <param name="wms"></param>
/// <param name="wmsOutDo"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_CHANGE> OpWmsChange_ClearanceMove(OP_WMS wms, OP_WMS_CLEARANCE wmsClearance, ClearanceMovePlanGoodsInput doGoods)
{
OP_WMS_CHANGE change = doGoods.Adapt<OP_WMS_CHANGE>();
change.WMSID = wms.WMSID;
change.DOBSNO = doGoods.WMSPLANID.ToString();
change.DOGID = doGoods.WMSCLEARANCEDETAILID;
change.CHANGETYPE = WMSCHANGTYPE.;
change.KGS2 = wms.KGS;
change.NETWEIGHT2 = wms.NETWEIGHT;
change.CBM2 = wms.CBM;
change.PKGS2 = wms.PKGS;
change.SMALLPKGS2 = wms.SMALLPKGS;
change.MINPKGS2 = wms.MINPKGS;
change.STORAGEUNITCOUNT2 = wms.STORAGEUNITCOUNT;
change.RULEUNITCOUNT2 = wms.RULEUNITCOUNT;
change.KGS -= doGoods.KGS;
change.NETWEIGHT -= doGoods.NETWEIGHT;
change.CBM -= doGoods.CBM;
change.PKGS -= doGoods.PKGS;
change.SMALLPKGS -= doGoods.SMALLPKGS;
change.MINPKGS -= doGoods.MINPKGS;
change.STORAGEUNITCOUNT -= doGoods.STORAGEUNITCOUNT;
change.RULEUNITCOUNT -= doGoods.RULEUNITCOUNT;
change.KGS3 = wms.KGS - doGoods.KGS;
change.NETWEIGHT3 = wms.NETWEIGHT - doGoods.NETWEIGHT;
change.CBM3 = wms.CBM - doGoods.CBM;
change.PKGS3 = wms.PKGS - doGoods.PKGS;
change.SMALLPKGS3 = wms.SMALLPKGS - doGoods.SMALLPKGS;
change.MINPKGS3 = wms.MINPKGS - doGoods.MINPKGS;
change.STORAGEUNITCOUNT3 = wms.STORAGEUNITCOUNT - doGoods.STORAGEUNITCOUNT;
change.RULEUNITCOUNT3 = wms.RULEUNITCOUNT - doGoods.RULEUNITCOUNT;
return DataResult<OP_WMS_CHANGE>.Success(change);
}
/// <summary>
/// 初始化 新库存 OP_WMS
/// </summary>
/// <param name="wms"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS> OpWmsInit_ClearanceMove(OP_WMS wms, ClearanceMovePlanGoodsInput doGoods)
{
var billNo = NumUtil.GetBillNo(db, "WM10");
if (billNo.IsNullOrEmpty())
{
return DataResult<OP_WMS>.Failed("请设置编码规则-库存信息");
}
Guid wmsid = Guid.NewGuid();
var newWms = doGoods.Adapt<OP_WMS>();
newWms.WMSID = wmsid;
newWms.BSNO = billNo;
newWms.CORPID = wms.CORPID;
newWms.CUSTOMERNAME = wms.CUSTOMERNAME;
newWms.ISCLEAR = false;
newWms.BSSTATUS = false;
newWms.FEESTATUS = false;
newWms.INDATE = DateTime.Now;
newWms.FEESTARTDATE = DateTime.Now;
newWms.FEERATESTARTDATE = DateTime.Now;
newWms.WMSINDATE = DateTime.Now;
newWms.CUSTOMNO = wms.CUSTOMNO;
newWms.BILLTYPE = "0";
newWms.GOODSOWNER = wms.GOODSOWNER;
newWms.ARCLIENTWMSOUT = wms.ARCLIENTWMSOUT;
newWms.ClientId = wms.ClientId;
newWms.setsingle();
newWms.WMSBASEID = wms.WMSBASEID;
return DataResult<OP_WMS>.Success(newWms);
}
/// <summary>
/// 清关移库 新库存 OP_WMS_CHANGE 初始化
/// </summary>
/// <param name="wms"></param>
/// <param name="wmsInDo"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_CHANGE> InitOpWmsChange_ClearanceMove(OP_WMS wms, OP_WMS_CLEARANCE wmsInDo, ClearanceMovePlanGoodsInput doGoods)
{
OP_WMS_CHANGE change = doGoods.Adapt<OP_WMS_CHANGE>();
change.WMSID = wms.WMSID;
change.DODATE = DateTime.Now;
change.setNew(doGoods);
return DataResult<OP_WMS_CHANGE>.Success(change);
}
/// <summary>
/// 清关移库 原库存 OP_WMS_PHYSICS减少
/// </summary>
/// <param name="physics"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS> OpWmsPhysicsReduce_ClearanceMove(OP_WMS_PHYSICS physics, ClearanceMovePlanGoodsInput doGoods)
{
physics.CBM -= doGoods.CBM;
physics.NETWEIGHT -= doGoods.NETWEIGHT;
physics.KGS -= doGoods.KGS;
physics.LOCKPKGS -= doGoods.PKGS;
physics.LOCKSTORAGEUNITCOUNT -= doGoods.STORAGEUNITCOUNT;
physics.PKGS -= doGoods.PKGS;
// physics.PKGS -= doGoods.PKGS;
physics.SMALLPKGS -= doGoods.SMALLPKGS;
physics.MINPKGS -= doGoods.MINPKGS;
// physics.STORAGEUNITCOUNT = physics.STORAGEUNITCOUNT - doGoods.STORAGEUNITCOUNT;
physics.RULEUNITCOUNT -= doGoods.RULEUNITCOUNT;
return DataResult<OP_WMS_PHYSICS>.Success(physics);
}
/// <summary>
/// 清关移库 原库存 OP_WMS_PHYSICS_CHANGE
/// </summary>
/// <param name="physics"></param>
/// <param name="wmsClearance"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS_CHANGE> OpWmsPhysicsChange_ClearanceMove(OP_WMS_PHYSICS physics, OP_WMS_CLEARANCE wmsClearance,
ClearanceMovePlanGoodsInput doGoods)
{
OP_WMS_PHYSICS_CHANGE change = doGoods.Adapt<OP_WMS_PHYSICS_CHANGE>();
change.WMSID = doGoods.WMSPHYSICSID;
change.WMSPHYSICSID = doGoods.WMSPHYSICSID;
change.DODATE = DateTime.Now;
change.WMSPHYSICS_LOGID = new Guid();
change.DOBSNO = doGoods.WMSPLANID.ToString();
change.DOGID = doGoods.WMSCLEARANCEDETAILID.ToString();
change.STOREHOUSE2 = physics.STOREHOUSE;
change.STOREHOUSE3 = physics.STOREHOUSE;
change.AREACODE2 = physics.AREACODE;
change.AREACODE3 = physics.AREACODE;
change.CHANGETYPE = WMSCHANGTYPE.;
change.CBM2 = physics.CBM;
change.KGS2 = physics.KGS;
change.PKGS2 = physics.PKGS + doGoods.PKGS;
change.SMALLPKGS2 = physics.SMALLPKGS;
change.MINPKGS2 = physics.MINPKGS;
change.STORAGEUNITCOUNT2 = physics.STORAGEUNITCOUNT + doGoods.STORAGEUNITCOUNT;
change.RULEUNITCOUNT2 = physics.RULEUNITCOUNT;
change.NETWEIGHT2 = physics.NETWEIGHT;
change.CBM = -doGoods.CBM;
change.KGS = -doGoods.KGS;
change.PKGS = -doGoods.PKGS;
change.SMALLPKGS = -doGoods.SMALLPKGS;
change.MINPKGS = -doGoods.MINPKGS;
change.STORAGEUNITCOUNT = -doGoods.STORAGEUNITCOUNT;
change.RULEUNITCOUNT = -doGoods.RULEUNITCOUNT;
change.NETWEIGHT = -doGoods.NETWEIGHT;
change.CBM3 = physics.CBM - doGoods.CBM;
change.KGS3 = physics.KGS - doGoods.KGS;
change.PKGS3 = physics.PKGS + physics.LOCKPKGS - doGoods.PKGS;
change.SMALLPKGS3 = physics.SMALLPKGS - doGoods.SMALLPKGS;
change.MINPKGS3 = physics.MINPKGS - doGoods.MINPKGS;
change.STORAGEUNITCOUNT3 = physics.STORAGEUNITCOUNT + physics.LOCKSTORAGEUNITCOUNT - doGoods.STORAGEUNITCOUNT;
change.RULEUNITCOUNT3 = physics.RULEUNITCOUNT - doGoods.RULEUNITCOUNT;
change.NETWEIGHT3 = physics.NETWEIGHT - doGoods.NETWEIGHT;
return DataResult<OP_WMS_PHYSICS_CHANGE>.Success(change);
}
/// <summary>
/// 清关移库 新库存 初始化OP_WMS_PHYSICS
/// </summary>
/// <param name="wms"></param>
/// <param name="wmsInDo"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS> InitOpWmsPhysics_ClearanceMove(OP_WMS wms, OP_WMS_CLEARANCE wmsInDo,
ClearanceMovePlanGoodsInput doGoods)
{
OP_WMS_PHYSICS physics = doGoods.Adapt<OP_WMS_PHYSICS>();
physics.WMSPHYSICSID = Guid.NewGuid();
physics.WMSID = wms.WMSID;
physics.STARTDATE = DateTime.Now;
physics.ClientId = wmsInDo.ClientId;
physics.STOREHOUSE = wmsInDo.MoveStoreHouse;
physics.AREACODE = doGoods.AREACODE;
physics.setsingle();
return DataResult<OP_WMS_PHYSICS>.Success(physics);
}
/// <summary>
/// 清关移库 新库存 初始化OpWmsPhysicsChange
/// </summary>
/// <param name="wmsId"></param>
/// <param name="physicsId"></param>
/// <param name="doDate"></param>
/// <param name="doGoods"></param>
/// <returns></returns>
public DataResult<OP_WMS_PHYSICS_CHANGE> InitOpWmsPhysicsChange_ClearanceMove(Guid wmsId, Guid physicsId,
ClearanceMovePlanGoodsInput doGoods)
{
OP_WMS_PHYSICS_CHANGE change = doGoods.Adapt<OP_WMS_PHYSICS_CHANGE>();
change.WMSID = wmsId;
change.WMSPHYSICSID = physicsId;
change.DODATE = DateTime.Now;
change.setNew(doGoods);
return DataResult<OP_WMS_PHYSICS_CHANGE>.Success(change);
}
#endregion
}

@ -101,10 +101,10 @@ public class WmsOutDoService:IWmsOutDoService
foreach (var item in detail)
{
var stockinfo = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
// if (item.PKGS > stockinfo.LOCKPKGS)
// {
// return DataResult.Failed("出库确认明细商品[" + item.GOODSNAME +"]锁定库存数量:" + stockinfo.LOCKPKGS +" 不足,不能审批!");
// }
if (item.PKGS > stockinfo.LOCKPKGS)
{
return DataResult.Failed("出库确认明细商品[" + item.GOODSNAME +"]锁定库存数量:" + stockinfo.LOCKPKGS +" 不足,不能审批!");
}
if (item.STORAGEUNITCOUNT > stockinfo.LOCKSTORAGEUNITCOUNT)
{
return DataResult.Failed("出库确认明细商品[" + item.GOODSNAME +"]锁定计费数量:" + stockinfo.LOCKSTORAGEUNITCOUNT +" 不足,不能审批!");

@ -128,9 +128,9 @@ public class WmsOutPlanService : IWmsOutPlanService
foreach (var item in goods)
{
var stockinfo = stocklist.Where(x => x.WMSPHYSICSID == item.WMSPHYSICSID).First();
stockinfo.PKGS -= item.PKGS;
stockinfo.STORAGEUNITCOUNT -= item.STORAGEUNITCOUNT;
// item.LOCKPKGS += plangoods.PKGS;
stockinfo.LOCKPKGS += item.PKGS;
stockinfo.LOCKSTORAGEUNITCOUNT += item.STORAGEUNITCOUNT;
db.Updateable(stockinfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}

@ -6098,3 +6098,83 @@
2023-04-20 19:23:35.6654 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-20 19:23:35.6911 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-20 19:23:35.6911 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:15:08.0040 Info Message Template Auto Format enabled
2023-04-21 09:15:08.0216 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:15:08.1341 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:15:08.1414 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:15:08.1572 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:15:08.2198 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:15:08.2198 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 09:21:33.9056 Info Shutdown() called. Logger closing...
2023-04-21 09:21:33.9056 Info Closing old configuration.
2023-04-21 09:21:33.9322 Info Logger has been closed down.
2023-04-21 09:22:00.3585 Info Message Template Auto Format enabled
2023-04-21 09:22:00.3749 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 09:22:00.4835 Info Adding target FileTarget(Name=allfile)
2023-04-21 09:22:00.4835 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 09:22:00.5069 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 09:22:00.5555 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 09:22:00.5664 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 11:03:37.1789 Info Shutdown() called. Logger closing...
2023-04-21 11:03:37.1789 Info Closing old configuration.
2023-04-21 11:03:37.2138 Info Logger has been closed down.
2023-04-21 11:03:56.8216 Info Message Template Auto Format enabled
2023-04-21 11:03:56.8370 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 11:03:56.9429 Info Adding target FileTarget(Name=allfile)
2023-04-21 11:03:56.9523 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 11:03:56.9711 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 11:03:57.0258 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 11:03:57.0395 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 11:14:40.0438 Info Shutdown() called. Logger closing...
2023-04-21 11:14:40.0438 Info Closing old configuration.
2023-04-21 11:14:40.0784 Info Logger has been closed down.
2023-04-21 11:15:01.8897 Info Message Template Auto Format enabled
2023-04-21 11:15:01.8897 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 11:15:01.9835 Info Adding target FileTarget(Name=allfile)
2023-04-21 11:15:01.9835 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 11:15:02.0018 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 11:15:02.0434 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 11:15:02.0523 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:30:49.1736 Info Shutdown() called. Logger closing...
2023-04-21 14:30:49.1736 Info Closing old configuration.
2023-04-21 14:30:49.2225 Info Logger has been closed down.
2023-04-21 14:31:24.1998 Info Message Template Auto Format enabled
2023-04-21 14:31:24.2147 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:31:24.3041 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:31:24.3041 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:31:24.3253 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:31:24.3645 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:31:24.3735 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:38:00.1942 Info Shutdown() called. Logger closing...
2023-04-21 14:38:00.1942 Info Closing old configuration.
2023-04-21 14:38:00.2218 Info Logger has been closed down.
2023-04-21 14:38:09.1581 Info Message Template Auto Format enabled
2023-04-21 14:38:09.1775 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:38:09.2840 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:38:09.2954 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:38:09.3133 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:38:09.3685 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:38:09.3824 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:40:10.2200 Info Shutdown() called. Logger closing...
2023-04-21 14:40:10.2200 Info Closing old configuration.
2023-04-21 14:40:10.2984 Info Logger has been closed down.
2023-04-21 14:40:38.9222 Info Message Template Auto Format enabled
2023-04-21 14:40:38.9222 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:40:39.0028 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:40:39.0028 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:40:39.0206 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:40:39.0576 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:40:39.0652 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 14:43:11.1195 Info Shutdown() called. Logger closing...
2023-04-21 14:43:11.1195 Info Closing old configuration.
2023-04-21 14:43:11.1520 Info Logger has been closed down.
2023-04-21 14:43:41.7865 Info Message Template Auto Format enabled
2023-04-21 14:43:41.8003 Info Loading assembly: NLog.Web.AspNetCore
2023-04-21 14:43:41.8732 Info Adding target FileTarget(Name=allfile)
2023-04-21 14:43:41.8732 Info Adding target FileTarget(Name=ownFile-web)
2023-04-21 14:43:41.8894 Info Adding target ColoredConsoleTarget(Name=console)
2023-04-21 14:43:41.9216 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\sdgslk-wms-solution\gslk-wmsapi-service-server\DS.WMS.WebApi\bin\Debug\net6.0\nlog.config
2023-04-21 14:43:41.9216 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2023-04-21 18:08:27.5508 Info Shutdown() called. Logger closing...
2023-04-21 18:08:27.5508 Info Closing old configuration.
2023-04-21 18:08:27.6376 Info Logger has been closed down.

Loading…
Cancel
Save