Commit 2164125ca88bd48c26099c2f46b189fa230ae737

Authored by “wangming”
1 parent ada64779

feat: 删除LqXhmxb相关代码并优化LqXhHyhkService

- 删除LqXhmxb相关的所有后端代码(Service、Entity、DTO、Interface、Mapper)
- 删除LqXhmxb相关的前端Vue组件文件
- 删除LqKdQkbj(欠款补缴)相关代码
- 优化LqXhHyhkService.GetMemberCardUsageRecord方法,支持分页和性能优化
- 修复LqXhHyhkService.GetJksyjList方法,添加分页和时间过滤
- 更新LqKdKdjlbService.GetDebtRecordByStoreId方法,支持分页和已缴欠款逻辑
- 完善LqHytkHytkService.VoidRefundCardInfo方法,添加事务处理
- 修复LqKdKdjlbStringGenerator中健康师名称显示问题
- 更新多个Entity文件以匹配数据库结构
- 添加新的DTO类支持分页查询功能
Showing 45 changed files with 621 additions and 2071 deletions
antis-ncc-admin/src/views/lqXhmxb/ExportBox.vue deleted
1   -<template>
2   - <el-dialog title="导出数据" :close-on-click-modal="false" :visible.sync="visible"
3   - class="NCC-dialog NCC-dialog_center" lock-scroll width="600px">
4   - <el-form label-position="top" label-width="80px">
5   - <el-form-item label="数据选择">
6   - <el-radio-group v-model="type">
7   - <el-radio :label="0">当前页面数据</el-radio>
8   - <el-radio :label="1">全部页面数据</el-radio>
9   - </el-radio-group>
10   - </el-form-item>
11   - <el-form-item label="导出字段">
12   - <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll"
13   - @change="handleCheckAllChange">全选</el-checkbox>
14   - <el-checkbox-group v-model="columns" @change="handleCheckedChange">
15   - <el-checkbox v-for="item in columnList" :label="item.prop" :key="item.prop">
16   - {{item.label}}
17   - </el-checkbox>
18   - </el-checkbox-group>
19   - </el-form-item>
20   - </el-form>
21   - <span slot="footer" class="dialog-footer">
22   - <el-button @click="visible=false">取 消</el-button>
23   - <el-button type="primary" @click="downLoad">导 出</el-button>
24   - </span>
25   - </el-dialog>
26   -</template>
27   -
28   -<script>
29   -export default {
30   - data() {
31   - return {
32   - visible: false,
33   - btnLoading: false,
34   - type: 0,
35   - columns: [],
36   - checkAll: true,
37   - isIndeterminate: false,
38   - columnList: []
39   - }
40   - },
41   - methods: {
42   - init(columnList) {
43   - this.visible = true
44   - this.columnList = columnList
45   - this.columns = columnList.map(o => o.prop)
46   - },
47   - handleCheckAllChange(val) {
48   - this.columns = val ? this.columnList.map(o => o.prop) : [];
49   - this.isIndeterminate = false;
50   - },
51   - handleCheckedChange(value) {
52   - let checkedCount = value.length;
53   - this.checkAll = checkedCount === this.columnList.length;
54   - this.isIndeterminate = checkedCount > 0 && checkedCount < this.columnList.length;
55   - },
56   - downLoad() {
57   - this.$emit('download', { dataType: this.type, selectKey: this.columns.join(',') })
58   - }
59   - }
60   -}
61   -</script>
62   -<style lang="scss" scoped>
63   ->>> .el-dialog__body {
64   - padding: 20px !important;
65   -}
66   -</style>
67 0 \ No newline at end of file
antis-ncc-admin/src/views/lqXhmxb/Form.vue deleted
1   -<template>
2   - <el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" :close-on-click-modal="false" :visible.sync="visible" class="NCC-dialog NCC-dialog_center" lock-scroll width="600px">
3   - <el-row :gutter="15" class="" >
4   - <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" :disabled="!!isDetail" :rules="rules">
5   - <el-col :span="24" v-if="false" >
6   - <el-form-item label="消耗编号" prop="id">
7   - <el-input v-model="dataForm.id" placeholder="请输入" clearable :style='{"width":"100%"}' >
8   - </el-input>
9   - </el-form-item>
10   - </el-col>
11   - <el-col :span="24">
12   - <el-form-item label="门店编号" prop="mdbh">
13   - <el-input v-model="dataForm.mdbh" placeholder="请输入" clearable :style='{"width":"100%"}' >
14   - </el-input>
15   - </el-form-item>
16   - </el-col>
17   - <el-col :span="24">
18   - <el-form-item label="门店名称" prop="mdmc">
19   - <el-input v-model="dataForm.mdmc" placeholder="请输入" clearable :style='{"width":"100%"}' >
20   - </el-input>
21   - </el-form-item>
22   - </el-col>
23   - <el-col :span="24">
24   - <el-form-item label="部门编号" prop="bmbh">
25   - <el-input v-model="dataForm.bmbh" placeholder="请输入" clearable :style='{"width":"100%"}' >
26   - </el-input>
27   - </el-form-item>
28   - </el-col>
29   - <el-col :span="24">
30   - <el-form-item label="部门名称" prop="bmmc">
31   - <el-input v-model="dataForm.bmmc" placeholder="请输入" clearable :style='{"width":"100%"}' >
32   - </el-input>
33   - </el-form-item>
34   - </el-col>
35   - <el-col :span="24">
36   - <el-form-item label="员工编号" prop="ygbh">
37   - <el-input v-model="dataForm.ygbh" placeholder="请输入" clearable :style='{"width":"100%"}' >
38   - </el-input>
39   - </el-form-item>
40   - </el-col>
41   - <el-col :span="24">
42   - <el-form-item label="员工名称" prop="ygmc">
43   - <el-input v-model="dataForm.ygmc" placeholder="请输入" clearable :style='{"width":"100%"}' >
44   - </el-input>
45   - </el-form-item>
46   - </el-col>
47   - <el-col :span="24">
48   - <el-form-item label="项目数" prop="xms">
49   - <el-input v-model="dataForm.xms" placeholder="请输入" clearable :style='{"width":"100%"}' >
50   - </el-input>
51   - </el-form-item>
52   - </el-col>
53   - <el-col :span="24">
54   - <el-form-item label="消耗" prop="xh">
55   - <el-input v-model="dataForm.xh" placeholder="请输入" clearable :style='{"width":"100%"}' >
56   - </el-input>
57   - </el-form-item>
58   - </el-col>
59   - <el-col :span="24">
60   - <el-form-item label="手工" prop="sg">
61   - <el-input v-model="dataForm.sg" placeholder="请输入" clearable :style='{"width":"100%"}' >
62   - </el-input>
63   - </el-form-item>
64   - </el-col>
65   - <el-col :span="24">
66   - <el-form-item label="其它手工1" prop="qtsg1">
67   - <el-input v-model="dataForm.qtsg1" placeholder="请输入" clearable :style='{"width":"100%"}' >
68   - </el-input>
69   - </el-form-item>
70   - </el-col>
71   - <el-col :span="24">
72   - <el-form-item label="其它手工2" prop="qtsg2">
73   - <el-input v-model="dataForm.qtsg2" placeholder="请输入" clearable :style='{"width":"100%"}' >
74   - </el-input>
75   - </el-form-item>
76   - </el-col>
77   - <el-col :span="24">
78   - <el-form-item label="其它手工3" prop="qtsg3">
79   - <el-input v-model="dataForm.qtsg3" placeholder="请输入" clearable :style='{"width":"100%"}' >
80   - </el-input>
81   - </el-form-item>
82   - </el-col>
83   - <el-col :span="24">
84   - <el-form-item label="手工合计" prop="sghj">
85   - <el-input v-model="dataForm.sghj" placeholder="请输入" clearable :style='{"width":"100%"}' >
86   - </el-input>
87   - </el-form-item>
88   - </el-col>
89   - </el-form>
90   - </el-row>
91   - <span slot="footer" class="dialog-footer">
92   - <el-button @click="visible = false">取 消</el-button>
93   - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button>
94   - </span>
95   - </el-dialog>
96   -</template>
97   -<script>
98   - import request from '@/utils/request'
99   - import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
100   - import { previewDataInterface } from '@/api/systemData/dataInterface'
101   - export default {
102   - components: {},
103   - props: [],
104   - data() {
105   - return {
106   - loading: false,
107   - visible: false,
108   - isDetail: false,
109   - dataForm: {
110   - id:'',
111   - id:undefined,
112   - mdbh:undefined,
113   - mdmc:undefined,
114   - bmbh:undefined,
115   - bmmc:undefined,
116   - ygbh:undefined,
117   - ygmc:undefined,
118   - xms:undefined,
119   - xh:undefined,
120   - sg:undefined,
121   - qtsg1:undefined,
122   - qtsg2:undefined,
123   - qtsg3:undefined,
124   - sghj:undefined,
125   - },
126   - rules: {
127   - },
128   - }
129   - },
130   - computed: {},
131   - watch: {},
132   - created() {
133   - },
134   - mounted() {
135   - },
136   - methods: {
137   - goBack() {
138   - this.$emit('refresh')
139   - },
140   - init(id, isDetail) {
141   - this.dataForm.id = id || 0;
142   - this.visible = true;
143   - this.isDetail = isDetail || false;
144   - this.$nextTick(() => {
145   - this.$refs['elForm'].resetFields();
146   - if (this.dataForm.id) {
147   - request({
148   - url: '/api/Extend/LqXhmxb/' + this.dataForm.id,
149   - method: 'get'
150   - }).then(res =>{
151   - this.dataForm = res.data;
152   - })
153   - }
154   - })
155   - },
156   - dataFormSubmit() {
157   - this.$refs['elForm'].validate((valid) => {
158   - if (valid) {
159   - if (!this.dataForm.id) {
160   - request({
161   - url: `/api/Extend/LqXhmxb`,
162   - method: 'post',
163   - data: this.dataForm,
164   - }).then((res) => {
165   - this.$message({
166   - message: res.msg,
167   - type: 'success',
168   - duration: 1000,
169   - onClose: () => {
170   - this.visible = false,
171   - this.$emit('refresh', true)
172   - }
173   - })
174   - })
175   - } else {
176   - request({
177   - url: '/api/Extend/LqXhmxb/' + this.dataForm.id,
178   - method: 'PUT',
179   - data: this.dataForm
180   - }).then((res) => {
181   - this.$message({
182   - message: res.msg,
183   - type: 'success',
184   - duration: 1000,
185   - onClose: () => {
186   - this.visible = false
187   - this.$emit('refresh', true)
188   - }
189   - })
190   - })
191   - }
192   - }
193   - })
194   - },
195   - }
196   - }
197   -</script>
antis-ncc-admin/src/views/lqXhmxb/index.vue deleted
1   -<template>
2   - <div class="NCC-common-layout">
3   - <div class="NCC-common-layout-center">
4   - <el-row class="NCC-common-search-box" :gutter="16">
5   - <el-form @submit.native.prevent>
6   - <el-col :span="6">
7   - <el-form-item label="消耗编号">
8   - <el-input v-model="query.id" placeholder="消耗编号" clearable />
9   - </el-form-item>
10   - </el-col>
11   - <el-col :span="6">
12   - <el-form-item label="门店编号">
13   - <el-input v-model="query.mdbh" placeholder="门店编号" clearable />
14   - </el-form-item>
15   - </el-col>
16   - <el-col :span="6">
17   - <el-form-item label="门店名称">
18   - <el-input v-model="query.mdmc" placeholder="门店名称" clearable />
19   - </el-form-item>
20   - </el-col>
21   - <template v-if="showAll">
22   - <el-col :span="6">
23   - <el-form-item label="部门编号">
24   - <el-input v-model="query.bmbh" placeholder="部门编号" clearable />
25   - </el-form-item>
26   - </el-col>
27   - <el-col :span="6">
28   - <el-form-item label="部门名称">
29   - <el-input v-model="query.bmmc" placeholder="部门名称" clearable />
30   - </el-form-item>
31   - </el-col>
32   - <el-col :span="6">
33   - <el-form-item label="员工编号">
34   - <el-input v-model="query.ygbh" placeholder="员工编号" clearable />
35   - </el-form-item>
36   - </el-col>
37   - <el-col :span="6">
38   - <el-form-item label="员工名称">
39   - <el-input v-model="query.ygmc" placeholder="员工名称" clearable />
40   - </el-form-item>
41   - </el-col>
42   - <el-col :span="6">
43   - <el-form-item label="项目数">
44   - <el-input v-model="query.xms" placeholder="项目数" clearable />
45   - </el-form-item>
46   - </el-col>
47   - <el-col :span="6">
48   - <el-form-item label="消耗">
49   - <el-input v-model="query.xh" placeholder="消耗" clearable />
50   - </el-form-item>
51   - </el-col>
52   - <el-col :span="6">
53   - <el-form-item label="手工">
54   - <el-input v-model="query.sg" placeholder="手工" clearable />
55   - </el-form-item>
56   - </el-col>
57   - <el-col :span="6">
58   - <el-form-item label="其它手工1">
59   - <el-input v-model="query.qtsg1" placeholder="其它手工1" clearable />
60   - </el-form-item>
61   - </el-col>
62   - <el-col :span="6">
63   - <el-form-item label="其它手工2">
64   - <el-input v-model="query.qtsg2" placeholder="其它手工2" clearable />
65   - </el-form-item>
66   - </el-col>
67   - <el-col :span="6">
68   - <el-form-item label="其它手工3">
69   - <el-input v-model="query.qtsg3" placeholder="其它手工3" clearable />
70   - </el-form-item>
71   - </el-col>
72   - <el-col :span="6">
73   - <el-form-item label="手工合计">
74   - <el-input v-model="query.sghj" placeholder="手工合计" clearable />
75   - </el-form-item>
76   - </el-col>
77   - </template>
78   - <el-col :span="6">
79   - <el-form-item>
80   - <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
81   - <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
82   - <el-button type="text" icon="el-icon-arrow-down" @click="showAll=true" v-if="!showAll">展开</el-button>
83   - <el-button type="text" icon="el-icon-arrow-up" @click="showAll=false" v-else>收起</el-button>
84   - </el-form-item>
85   - </el-col>
86   - </el-form>
87   - </el-row>
88   - <div class="NCC-common-layout-main NCC-flex-main">
89   - <div class="NCC-common-head">
90   - <div>
91   - <el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">新增</el-button>
92   - <el-button type="text" icon="el-icon-download" @click="exportData()">导出</el-button>
93   - <el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">批量删除</el-button>
94   - </div>
95   - <div class="NCC-common-head-right">
96   - <el-tooltip effect="dark" content="刷新" placement="top">
97   - <el-link icon="icon-ym icon-ym-Refresh NCC-common-head-icon" :underline="false" @click="reset()" />
98   - </el-tooltip>
99   - <screenfull isContainer />
100   - </div>
101   - </div>
102   - <NCC-table v-loading="listLoading" :data="list" has-c @selection-change="handleSelectionChange">
103   - <el-table-column prop="id" label="消耗编号" align="left" />
104   - <el-table-column prop="mdbh" label="门店编号" align="left" />
105   - <el-table-column prop="mdmc" label="门店名称" align="left" />
106   - <el-table-column prop="bmbh" label="部门编号" align="left" />
107   - <el-table-column prop="bmmc" label="部门名称" align="left" />
108   - <el-table-column prop="ygbh" label="员工编号" align="left" />
109   - <el-table-column prop="ygmc" label="员工名称" align="left" />
110   - <el-table-column prop="xms" label="项目数" align="left" />
111   - <el-table-column prop="xh" label="消耗" align="left" />
112   - <el-table-column prop="sg" label="手工" align="left" />
113   - <el-table-column prop="qtsg1" label="其它手工1" align="left" />
114   - <el-table-column prop="qtsg2" label="其它手工2" align="left" />
115   - <el-table-column prop="qtsg3" label="其它手工3" align="left" />
116   - <el-table-column prop="sghj" label="手工合计" align="left" />
117   - <el-table-column label="操作" fixed="right" width="100">
118   - <template slot-scope="scope">
119   - <el-button type="text" @click="addOrUpdateHandle(scope.row.id)" >编辑</el-button>
120   - <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button>
121   - </template>
122   - </el-table-column>
123   - </NCC-table>
124   - <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData" />
125   - </div>
126   - </div>
127   - <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
128   - <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download" />
129   - </div>
130   -</template>
131   -<script>
132   - import request from '@/utils/request'
133   - import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
134   - import NCCForm from './Form'
135   - import ExportBox from './ExportBox'
136   - import { previewDataInterface } from '@/api/systemData/dataInterface'
137   - export default {
138   - components: { NCCForm, ExportBox },
139   - data() {
140   - return {
141   - showAll: false,
142   - query: {
143   - id:undefined,
144   - mdbh:undefined,
145   - mdmc:undefined,
146   - bmbh:undefined,
147   - bmmc:undefined,
148   - ygbh:undefined,
149   - ygmc:undefined,
150   - xms:undefined,
151   - xh:undefined,
152   - sg:undefined,
153   - qtsg1:undefined,
154   - qtsg2:undefined,
155   - qtsg3:undefined,
156   - sghj:undefined,
157   - },
158   - list: [],
159   - listLoading: true,
160   - multipleSelection: [], total: 0,
161   - listQuery: {
162   - currentPage: 1,
163   - pageSize: 20,
164   - sort: "desc",
165   - sidx: "",
166   - },
167   - formVisible: false,
168   - exportBoxVisible: false,
169   - columnList: [
170   - { prop: 'id', label: '消耗编号' },
171   - { prop: 'mdbh', label: '门店编号' },
172   - { prop: 'mdmc', label: '门店名称' },
173   - { prop: 'bmbh', label: '部门编号' },
174   - { prop: 'bmmc', label: '部门名称' },
175   - { prop: 'ygbh', label: '员工编号' },
176   - { prop: 'ygmc', label: '员工名称' },
177   - { prop: 'xms', label: '项目数' },
178   - { prop: 'xh', label: '消耗' },
179   - { prop: 'sg', label: '手工' },
180   - { prop: 'qtsg1', label: '其它手工1' },
181   - { prop: 'qtsg2', label: '其它手工2' },
182   - { prop: 'qtsg3', label: '其它手工3' },
183   - { prop: 'sghj', label: '手工合计' },
184   - ],
185   - }
186   - },
187   - computed: {},
188   - created() {
189   - this.initData()
190   - },
191   - methods: {
192   - initData() {
193   - this.listLoading = true;
194   - let _query = {
195   - ...this.listQuery,
196   - ...this.query
197   - };
198   - let query = {}
199   - for (let key in _query) {
200   - if (Array.isArray(_query[key])) {
201   - query[key] = _query[key].join()
202   - } else {
203   - query[key] = _query[key]
204   - }
205   - }
206   - request({
207   - url: `/api/Extend/LqXhmxb`,
208   - method: 'GET',
209   - data: query
210   - }).then(res => {
211   - this.list = res.data.list
212   - this.total = res.data.pagination.total
213   - this.listLoading = false
214   - })
215   - },
216   - handleDel(id) {
217   - this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
218   - type: 'warning'
219   - }).then(() => {
220   - request({
221   - url: `/api/Extend/LqXhmxb/${id}`,
222   - method: 'DELETE'
223   - }).then(res => {
224   - this.$message({
225   - type: 'success',
226   - message: res.msg,
227   - onClose: () => {
228   - this.initData()
229   - }
230   - });
231   - })
232   - }).catch(() => {
233   - });
234   - },
235   - handleSelectionChange(val) {
236   - const res = val.map(item => item.id)
237   - this.multipleSelection = res
238   - },
239   - handleBatchRemoveDel() {
240   - if (!this.multipleSelection.length) {
241   - this.$message({
242   - type: 'error',
243   - message: '请选择一条数据',
244   - duration: 1500,
245   - })
246   - return
247   - }
248   - const ids = this.multipleSelection
249   - this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
250   - type: 'warning'
251   - }).then(() => {
252   - request({
253   - url: `/api/Extend/LqXhmxb/batchRemove`,
254   - method: 'POST',
255   - data: ids ,
256   - }).then(res => {
257   - this.$message({
258   - type: 'success',
259   - message: res.msg,
260   - onClose: () => {
261   - this.initData()
262   - }
263   - });
264   - })
265   - }).catch(() => { })
266   - },
267   - addOrUpdateHandle(id, isDetail) {
268   - this.formVisible = true
269   - this.$nextTick(() => {
270   - this.$refs.NCCForm.init(id, isDetail)
271   - })
272   - },
273   - exportData() {
274   - this.exportBoxVisible = true
275   - this.$nextTick(() => {
276   - this.$refs.ExportBox.init(this.columnList)
277   - })
278   - },
279   - download(data) {
280   - let query = { ...data, ...this.listQuery, ...this.query }
281   - request({
282   - url: `/api/Extend/LqXhmxb/Actions/Export`,
283   - method: 'GET',
284   - data: query
285   - }).then(res => {
286   - if (!res.data.url) return
287   - window.location.href = this.define.comUrl + res.data.url
288   - this.$refs.ExportBox.visible = false
289   - this.exportBoxVisible = false
290   - })
291   - },
292   - search() {
293   - this.listQuery = {
294   - currentPage: 1,
295   - pageSize: 20,
296   - sort: "desc",
297   - sidx: "",
298   - }
299   - this.initData()
300   - },
301   - refresh(isrRefresh) {
302   - this.formVisible = false
303   - if (isrRefresh) this.reset()
304   - },
305   - reset() {
306   - for (let key in this.query) {
307   - this.query[key] = undefined
308   - }
309   - this.listQuery = {
310   - currentPage: 1,
311   - pageSize: 20,
312   - sort: "desc",
313   - sidx: "",
314   - }
315   - this.initData()
316   - }
317   - }
318   - }
319   -</script>
320 0 \ No newline at end of file
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdDeductinfo/LqKdDeductinfoInfoOutput.cs
... ... @@ -10,57 +10,62 @@ namespace NCC.Extend.Entitys.Dto.LqKdDeductinfo
10 10 /// <summary>
11 11 /// 主键
12 12 /// </summary>
13   - public string Id { get; set; }
  13 + public string id { get; set; }
14 14  
15 15 /// <summary>
16 16 /// 扣减类型
17 17 /// </summary>
18   - public string DeductType { get; set; }
  18 + public string deductType { get; set; }
19 19  
20 20 /// <summary>
21 21 /// 扣减类型名称
22 22 /// </summary>
23   - public string DeductTypeName { get; set; }
  23 + public string deductTypeName { get; set; }
24 24  
25 25 /// <summary>
26 26 /// 扣减关联ID
27 27 /// </summary>
28   - public string DeductId { get; set; }
  28 + public string deductId { get; set; }
29 29  
30 30 /// <summary>
31 31 /// 开单id
32 32 /// </summary>
33   - public string BillingId { get; set; }
  33 + public string billingId { get; set; }
34 34  
35 35 /// <summary>
36 36 /// 合计金额
37 37 /// </summary>
38   - public decimal? Amount { get; set; }
  38 + public decimal? amount { get; set; }
39 39  
40 40 /// <summary>
41 41 /// 是否有效
42 42 /// </summary>
43   - public int? IsEffective { get; set; }
  43 + public int? isEffective { get; set; }
44 44  
45 45 /// <summary>
46 46 /// 单价
47 47 /// </summary>
48   - public decimal? UnitPrice { get; set; }
  48 + public decimal? unitPrice { get; set; }
49 49  
50 50 /// <summary>
51 51 /// 品项名称
52 52 /// </summary>
53   - public string ItemName { get; set; }
  53 + public string itemName { get; set; }
54 54  
55 55 /// <summary>
56 56 /// 品项id
57 57 /// </summary>
58   - public string ItemId { get; set; }
  58 + public string itemId { get; set; }
  59 +
  60 + /// <summary>
  61 + /// 项目数量
  62 + /// </summary>
  63 + public decimal? projectNumber { get; set; }
59 64  
60 65 /// <summary>
61 66 /// 创建时间
62 67 /// </summary>
63   - public DateTime? CreateTime { get; set; }
  68 + public DateTime? createTime { get; set; }
64 69  
65 70 }
66 71 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/DebtPaymentRecordOutput.cs deleted
1   -using System;
2   -using System.ComponentModel.DataAnnotations;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
5   -{
6   - /// <summary>
7   - /// 补缴欠款记录输出
8   - /// </summary>
9   - public class DebtPaymentRecordOutput
10   - {
11   - /// <summary>
12   - /// 补缴记录ID
13   - /// </summary>
14   - [Display(Name = "补缴记录ID", Description = "补缴欠款记录的唯一标识")]
15   - public string Id { get; set; }
16   -
17   - /// <summary>
18   - /// 开单记录ID
19   - /// </summary>
20   - [Display(Name = "开单记录ID", Description = "关联的开单记录ID")]
21   - public string BillingId { get; set; }
22   -
23   - /// <summary>
24   - /// 补缴金额
25   - /// </summary>
26   - [Display(Name = "补缴金额", Description = "客户补缴的欠款金额")]
27   - public decimal PaymentAmount { get; set; }
28   -
29   - /// <summary>
30   - /// 付款方式
31   - /// </summary>
32   - [Display(Name = "付款方式", Description = "客户付款的方式")]
33   - public string PaymentMethod { get; set; }
34   -
35   - /// <summary>
36   - /// 付款日期
37   - /// </summary>
38   - [Display(Name = "付款日期", Description = "客户实际付款的日期")]
39   - public DateTime PaymentDate { get; set; }
40   -
41   - /// <summary>
42   - /// 收款人员
43   - /// </summary>
44   - [Display(Name = "收款人员", Description = "负责收款的工作人员")]
45   - public string PaymentUser { get; set; }
46   -
47   - /// <summary>
48   - /// 备注
49   - /// </summary>
50   - [Display(Name = "备注", Description = "补缴欠款的备注信息")]
51   - public string Remarks { get; set; }
52   -
53   - /// <summary>
54   - /// 创建时间
55   - /// </summary>
56   - [Display(Name = "创建时间", Description = "补缴记录的创建时间")]
57   - public DateTime CreateTime { get; set; }
58   - }
59   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjUpInput.cs renamed to netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/DebtRecordQueryInput.cs
1   -using System;
2 1 using System.ComponentModel.DataAnnotations;
  2 +using NCC.Common.Filter;
3 3  
4   -namespace NCC.Extend.Entitys.Dto.LqKdQkbj
  4 +namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
5 5 {
6 6 /// <summary>
7   - /// 开单欠款补缴记录更新输入
  7 + /// 门店欠款记录查询输入
8 8 /// </summary>
9   - public class LqKdQkbjUpInput : LqKdQkbjCrInput
  9 + public class DebtRecordQueryInput : PageInputBase
10 10 {
11 11 /// <summary>
12   - /// 主键
  12 + /// 门店ID
13 13 /// </summary>
14   - [Required(ErrorMessage = "主键不能为空")]
15   - public string Id { get; set; }
  14 + [Required(ErrorMessage = "门店ID不能为空")]
  15 + [Display(Name = "门店ID", Description = "查询欠款记录的门店ID")]
  16 + public string StoreId { get; set; }
16 17 }
17 18 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbCrInput.cs
... ... @@ -161,6 +161,16 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
161 161 public string cancelRefRemarks { get; set; }
162 162  
163 163 /// <summary>
  164 + /// 补缴开单ID
  165 + /// </summary>
  166 + public string supplementBillingId { get; set; }
  167 +
  168 + /// <summary>
  169 + /// 补缴金额
  170 + /// </summary>
  171 + public decimal supplementAmount { get; set; }
  172 +
  173 + /// <summary>
164 174 /// 扣款信息
165 175 /// </summary>
166 176 public List<LqKdDeductinfoCrInput> lqKdKdjlbDeductList { get; set; }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbInfoOutput.cs
... ... @@ -157,6 +157,27 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
157 157 public int IsEffective { get; set; }
158 158  
159 159 /// <summary>
  160 + /// 补缴开单ID
  161 + /// </summary>
  162 + public string SupplementBillingId { get; set; }
  163 +
  164 + /// <summary>
  165 + /// 补缴金额
  166 + /// </summary>
  167 + public decimal SupplementAmount { get; set; }
  168 +
  169 + /// <summary>
  170 + /// 已缴欠款
  171 + /// </summary>
  172 + public decimal PaidDebt { get; set; }
  173 +
  174 +
  175 + /// <summary>
  176 + /// 作废关联备注
  177 + /// </summary>
  178 + public string CancelRefRemarks { get; set; }
  179 +
  180 + /// <summary>
160 181 /// 健康师业绩
161 182 /// </summary>
162 183 public List<LqKdJksyjInfoOutput> lqKdJksyjList { get; set; }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/LqKdKdjlbListOutput.cs
... ... @@ -53,6 +53,11 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
53 53 public decimal qk { get; set; }
54 54  
55 55 /// <summary>
  56 + /// 已缴欠款
  57 + /// </summary>
  58 + public decimal PaidDebt { get; set; }
  59 +
  60 + /// <summary>
56 61 /// 储扣方式
57 62 /// </summary>
58 63 public string ckfs { get; set; }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/PayDebtInput.cs deleted
1   -using System;
2   -using System.ComponentModel.DataAnnotations;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
5   -{
6   - /// <summary>
7   - /// 补缴欠款输入
8   - /// </summary>
9   - public class PayDebtInput
10   - {
11   - /// <summary>
12   - /// 开单记录ID
13   - /// </summary>
14   - [Required(ErrorMessage = "开单记录ID不能为空")]
15   - [Display(Name = "开单记录ID", Description = "需要补缴欠款的开单记录ID")]
16   - public string BillingId { get; set; }
17   -
18   - /// <summary>
19   - /// 补缴金额
20   - /// </summary>
21   - [Required(ErrorMessage = "补缴金额不能为空")]
22   - [Range(0.01, double.MaxValue, ErrorMessage = "补缴金额必须大于0")]
23   - [Display(Name = "补缴金额", Description = "客户补缴的欠款金额")]
24   - public decimal PaymentAmount { get; set; }
25   -
26   - /// <summary>
27   - /// 付款方式
28   - /// </summary>
29   - [Display(Name = "付款方式", Description = "客户付款的方式(现金、刷卡、转账等)")]
30   - public string PaymentMethod { get; set; }
31   -
32   - /// <summary>
33   - /// 付款日期
34   - /// </summary>
35   - [Display(Name = "付款日期", Description = "客户实际付款的日期")]
36   - public DateTime? PaymentDate { get; set; }
37   -
38   - /// <summary>
39   - /// 收款人员
40   - /// </summary>
41   - [Display(Name = "收款人员", Description = "负责收款的工作人员")]
42   - public string PaymentUser { get; set; }
43   -
44   - /// <summary>
45   - /// 备注
46   - /// </summary>
47   - [Display(Name = "备注", Description = "补缴欠款的备注信息")]
48   - public string Remarks { get; set; }
49   - }
50   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdPxmx/LqKdPxmxInfoOutput.cs
... ... @@ -78,7 +78,7 @@ namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
78 78 /// <summary>
79 79 /// 是否有效
80 80 /// </summary>
81   - public int IsEffective { get; set; }
  81 + public int isEffective { get; set; }
82 82  
83 83 /// <summary>
84 84 /// 健康师业绩列表
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjCrInput.cs deleted
1   -using System;
2   -using System.ComponentModel.DataAnnotations;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqKdQkbj
5   -{
6   - /// <summary>
7   - /// 开单欠款补缴记录创建输入
8   - /// </summary>
9   - public class LqKdQkbjCrInput
10   - {
11   - /// <summary>
12   - /// 开单ID
13   - /// </summary>
14   - [Required(ErrorMessage = "开单ID不能为空")]
15   - public string BillingId { get; set; }
16   -
17   - /// <summary>
18   - /// 补缴金额
19   - /// </summary>
20   - [Required(ErrorMessage = "补缴金额不能为空")]
21   - [Range(0.01, 999999.99, ErrorMessage = "补缴金额必须在0.01到999999.99之间")]
22   - public decimal PaymentAmount { get; set; }
23   -
24   - /// <summary>
25   - /// 补缴方式
26   - /// </summary>
27   - [Required(ErrorMessage = "补缴方式不能为空")]
28   - public string PaymentMethod { get; set; }
29   -
30   - /// <summary>
31   - /// 补缴时间
32   - /// </summary>
33   - [Required(ErrorMessage = "补缴时间不能为空")]
34   - public DateTime PaymentTime { get; set; }
35   -
36   - /// <summary>
37   - /// 补缴操作人
38   - /// </summary>
39   - public string PaymentUser { get; set; }
40   -
41   - /// <summary>
42   - /// 补缴账户
43   - /// </summary>
44   - public string PaymentAccount { get; set; }
45   -
46   - /// <summary>
47   - /// 补缴凭证号
48   - /// </summary>
49   - public string PaymentReference { get; set; }
50   -
51   - /// <summary>
52   - /// 补缴备注
53   - /// </summary>
54   - [StringLength(500, ErrorMessage = "补缴备注不能超过500个字符")]
55   - public string Remark { get; set; }
56   - }
57   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjInfoOutput.cs deleted
1   -using System;
2   -
3   -namespace NCC.Extend.Entitys.Dto.LqKdQkbj
4   -{
5   - /// <summary>
6   - /// 开单欠款补缴记录详情输出
7   - /// </summary>
8   - public class LqKdQkbjInfoOutput
9   - {
10   - /// <summary>
11   - /// 主键
12   - /// </summary>
13   - public string Id { get; set; }
14   -
15   - /// <summary>
16   - /// 开单ID
17   - /// </summary>
18   - public string BillingId { get; set; }
19   -
20   - /// <summary>
21   - /// 补缴金额
22   - /// </summary>
23   - public decimal PaymentAmount { get; set; }
24   -
25   - /// <summary>
26   - /// 补缴方式
27   - /// </summary>
28   - public string PaymentMethod { get; set; }
29   -
30   - /// <summary>
31   - /// 补缴方式名称
32   - /// </summary>
33   - public string PaymentMethodName { get; set; }
34   -
35   - /// <summary>
36   - /// 补缴时间
37   - /// </summary>
38   - public DateTime PaymentTime { get; set; }
39   -
40   - /// <summary>
41   - /// 补缴操作人
42   - /// </summary>
43   - public string PaymentUser { get; set; }
44   -
45   - /// <summary>
46   - /// 补缴操作人姓名
47   - /// </summary>
48   - public string PaymentUserName { get; set; }
49   -
50   - /// <summary>
51   - /// 补缴账户
52   - /// </summary>
53   - public string PaymentAccount { get; set; }
54   -
55   - /// <summary>
56   - /// 补缴凭证号
57   - /// </summary>
58   - public string PaymentReference { get; set; }
59   -
60   - /// <summary>
61   - /// 补缴备注
62   - /// </summary>
63   - public string Remark { get; set; }
64   -
65   - /// <summary>
66   - /// 创建时间
67   - /// </summary>
68   - public DateTime CreateTime { get; set; }
69   -
70   - /// <summary>
71   - /// 更新时间
72   - /// </summary>
73   - public DateTime UpdateTime { get; set; }
74   -
75   - /// <summary>
76   - /// 是否有效
77   - /// </summary>
78   - public int IsEffective { get; set; }
79   - }
80   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjListOutput.cs deleted
1   -using System;
2   -
3   -namespace NCC.Extend.Entitys.Dto.LqKdQkbj
4   -{
5   - /// <summary>
6   - /// 开单欠款补缴记录列表输出
7   - /// </summary>
8   - public class LqKdQkbjListOutput
9   - {
10   - /// <summary>
11   - /// 主键
12   - /// </summary>
13   - public string Id { get; set; }
14   -
15   - /// <summary>
16   - /// 开单ID
17   - /// </summary>
18   - public string BillingId { get; set; }
19   -
20   - /// <summary>
21   - /// 补缴金额
22   - /// </summary>
23   - public decimal PaymentAmount { get; set; }
24   -
25   - /// <summary>
26   - /// 补缴方式
27   - /// </summary>
28   - public string PaymentMethod { get; set; }
29   -
30   - /// <summary>
31   - /// 补缴方式名称
32   - /// </summary>
33   - public string PaymentMethodName { get; set; }
34   -
35   - /// <summary>
36   - /// 补缴时间
37   - /// </summary>
38   - public DateTime PaymentTime { get; set; }
39   -
40   - /// <summary>
41   - /// 补缴操作人
42   - /// </summary>
43   - public string PaymentUser { get; set; }
44   -
45   - /// <summary>
46   - /// 补缴操作人姓名
47   - /// </summary>
48   - public string PaymentUserName { get; set; }
49   -
50   - /// <summary>
51   - /// 补缴账户
52   - /// </summary>
53   - public string PaymentAccount { get; set; }
54   -
55   - /// <summary>
56   - /// 补缴凭证号
57   - /// </summary>
58   - public string PaymentReference { get; set; }
59   -
60   - /// <summary>
61   - /// 补缴备注
62   - /// </summary>
63   - public string Remark { get; set; }
64   -
65   - /// <summary>
66   - /// 创建时间
67   - /// </summary>
68   - public DateTime CreateTime { get; set; }
69   -
70   - /// <summary>
71   - /// 是否有效
72   - /// </summary>
73   - public int IsEffective { get; set; }
74   - }
75   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdQkbj/LqKdQkbjListQueryInput.cs deleted
1   -using System;
2   -
3   -namespace NCC.Extend.Entitys.Dto.LqKdQkbj
4   -{
5   - /// <summary>
6   - /// 开单欠款补缴记录列表查询输入
7   - /// </summary>
8   - public class LqKdQkbjListQueryInput
9   - {
10   - /// <summary>
11   - /// 开单ID
12   - /// </summary>
13   - public string BillingId { get; set; }
14   -
15   - /// <summary>
16   - /// 补缴方式
17   - /// </summary>
18   - public string PaymentMethod { get; set; }
19   -
20   - /// <summary>
21   - /// 补缴操作人
22   - /// </summary>
23   - public string PaymentUser { get; set; }
24   -
25   - /// <summary>
26   - /// 最小补缴金额
27   - /// </summary>
28   - public decimal? MinPaymentAmount { get; set; }
29   -
30   - /// <summary>
31   - /// 最大补缴金额
32   - /// </summary>
33   - public decimal? MaxPaymentAmount { get; set; }
34   -
35   - /// <summary>
36   - /// 开始补缴时间
37   - /// </summary>
38   - public DateTime? StartPaymentTime { get; set; }
39   -
40   - /// <summary>
41   - /// 结束补缴时间
42   - /// </summary>
43   - public DateTime? EndPaymentTime { get; set; }
44   -
45   - /// <summary>
46   - /// 是否有效
47   - /// </summary>
48   - public int? IsEffective { get; set; }
49   -
50   - /// <summary>
51   - /// 补缴凭证号
52   - /// </summary>
53   - public string PaymentReference { get; set; }
54   - }
55   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbInfoOutput.cs
... ... @@ -82,5 +82,10 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb
82 82 /// 拓客活动名称
83 83 /// </summary>
84 84 public string eventName { get; set; }
  85 +
  86 + /// <summary>
  87 + /// 是否有效
  88 + /// </summary>
  89 + public int isEffective { get; set; }
85 90 }
86 91 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqTkjlb/LqTkjlbListOutput.cs
... ... @@ -92,5 +92,10 @@ namespace NCC.Extend.Entitys.Dto.LqTkjlb
92 92 /// 拓客活动名称
93 93 /// </summary>
94 94 public string eventName { get; set; }
  95 +
  96 + /// <summary>
  97 + /// 是否有效
  98 + /// </summary>
  99 + public int isEffective { get; set; }
95 100 }
96 101 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkMemberCardUsageOutput.cs 0 → 100644
  1 +using System;
  2 +using System.Collections.Generic;
  3 +
  4 +namespace NCC.Extend.Entitys.Dto.LqXhHyhk
  5 +{
  6 + /// <summary>
  7 + /// 会员耗卡记录输出
  8 + /// </summary>
  9 + public class LqXhHyhkMemberCardUsageOutput
  10 + {
  11 + /// <summary>
  12 + /// 耗卡记录ID
  13 + /// </summary>
  14 + public string Id { get; set; }
  15 +
  16 + /// <summary>
  17 + /// 会员ID
  18 + /// </summary>
  19 + public string MemberId { get; set; }
  20 +
  21 + /// <summary>
  22 + /// 会员姓名
  23 + /// </summary>
  24 + public string MemberName { get; set; }
  25 +
  26 + /// <summary>
  27 + /// 门店ID
  28 + /// </summary>
  29 + public string StoreId { get; set; }
  30 +
  31 + /// <summary>
  32 + /// 门店名称
  33 + /// </summary>
  34 + public string StoreName { get; set; }
  35 +
  36 + /// <summary>
  37 + /// 耗卡时间
  38 + /// </summary>
  39 + public DateTime? UsageDate { get; set; }
  40 +
  41 + /// <summary>
  42 + /// 消费金额
  43 + /// </summary>
  44 + public decimal? TotalAmount { get; set; }
  45 +
  46 + /// <summary>
  47 + /// 备注
  48 + /// </summary>
  49 + public string Remarks { get; set; }
  50 +
  51 + /// <summary>
  52 + /// 创建时间
  53 + /// </summary>
  54 + public DateTime? CreateTime { get; set; }
  55 +
  56 + /// <summary>
  57 + /// 品项明细列表
  58 + /// </summary>
  59 + public List<LqXhHyhkMemberCardUsageItemDetail> ItemDetails { get; set; } = new List<LqXhHyhkMemberCardUsageItemDetail>();
  60 + }
  61 +
  62 + /// <summary>
  63 + /// 会员耗卡记录品项明细
  64 + /// </summary>
  65 + public class LqXhHyhkMemberCardUsageItemDetail
  66 + {
  67 + /// <summary>
  68 + /// 明细ID
  69 + /// </summary>
  70 + public string Id { get; set; }
  71 +
  72 + /// <summary>
  73 + /// 品项ID
  74 + /// </summary>
  75 + public string ItemId { get; set; }
  76 +
  77 + /// <summary>
  78 + /// 品项名称
  79 + /// </summary>
  80 + public string ItemName { get; set; }
  81 +
  82 + /// <summary>
  83 + /// 单价
  84 + /// </summary>
  85 + public decimal? UnitPrice { get; set; }
  86 +
  87 + /// <summary>
  88 + /// 项目次数
  89 + /// </summary>
  90 + public int? ProjectNumber { get; set; }
  91 +
  92 + /// <summary>
  93 + /// 合计金额
  94 + /// </summary>
  95 + public decimal? TotalPrice { get; set; }
  96 +
  97 + /// <summary>
  98 + /// 来源类型
  99 + /// </summary>
  100 + public string SourceType { get; set; }
  101 +
  102 + /// <summary>
  103 + /// 创建时间
  104 + /// </summary>
  105 + public DateTime? CreateTime { get; set; }
  106 + }
  107 +}
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkMemberCardUsageQueryInput.cs 0 → 100644
  1 +using NCC.Common.Filter;
  2 +using System.ComponentModel.DataAnnotations;
  3 +
  4 +namespace NCC.Extend.Entitys.Dto.LqXhHyhk
  5 +{
  6 + /// <summary>
  7 + /// 会员耗卡记录查询输入
  8 + /// </summary>
  9 + public class LqXhHyhkMemberCardUsageQueryInput : PageInputBase
  10 + {
  11 + /// <summary>
  12 + /// 会员ID
  13 + /// </summary>
  14 + [Required(ErrorMessage = "会员ID不能为空")]
  15 + public string MemberId { get; set; }
  16 +
  17 + /// <summary>
  18 + /// 门店ID
  19 + /// </summary>
  20 + public string StoreId { get; set; }
  21 +
  22 + /// <summary>
  23 + /// 开始时间
  24 + /// </summary>
  25 + public System.DateTime? StartTime { get; set; }
  26 +
  27 + /// <summary>
  28 + /// 结束时间
  29 + /// </summary>
  30 + public System.DateTime? EndTime { get; set; }
  31 + }
  32 +}
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKdKdjlb/DebtPaymentQueryInput.cs renamed to netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhJksyjQueryInput.cs
... ... @@ -2,35 +2,35 @@ using System;
2 2 using System.ComponentModel.DataAnnotations;
3 3 using NCC.Common.Filter;
4 4  
5   -namespace NCC.Extend.Entitys.Dto.LqKdKdjlb
  5 +namespace NCC.Extend.Entitys.Dto.LqXhHyhk
6 6 {
7 7 /// <summary>
8   - /// 补缴欠款记录查询输入
  8 + /// 健康师业绩查询输入
9 9 /// </summary>
10   - public class DebtPaymentQueryInput : PageInputBase
  10 + public class LqXhJksyjQueryInput : PageInputBase
11 11 {
12 12 /// <summary>
13 13 /// 开单记录ID
14 14 /// </summary>
15   - [Display(Name = "开单记录ID", Description = "开单记录ID")]
16   - public string BillingId { get; set; }
  15 + [Display(Name = "开单记录ID", Description = "关联的开单记录ID")]
  16 + public string Glkdbh { get; set; }
17 17  
18 18 /// <summary>
19   - /// 付款日期开始
  19 + /// 健康师ID
20 20 /// </summary>
21   - [Display(Name = "付款日期开始", Description = "付款日期范围开始")]
22   - public DateTime? PaymentDateStart { get; set; }
  21 + [Display(Name = "健康师ID", Description = "健康师用户ID,可选")]
  22 + public string JksId { get; set; }
23 23  
24 24 /// <summary>
25   - /// 付款日期结束
  25 + /// 开始时间
26 26 /// </summary>
27   - [Display(Name = "付款日期结束", Description = "付款日期范围结束")]
28   - public DateTime? PaymentDateEnd { get; set; }
  27 + [Display(Name = "开始时间", Description = "查询开始时间")]
  28 + public DateTime? StartTime { get; set; }
29 29  
30 30 /// <summary>
31   - /// 收款人员
  31 + /// 结束时间
32 32 /// </summary>
33   - [Display(Name = "收款人员", Description = "收款人员")]
34   - public string PaymentUser { get; set; }
  33 + [Display(Name = "结束时间", Description = "查询结束时间")]
  34 + public DateTime? EndTime { get; set; }
35 35 }
36 36 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhJksyj/LqXhJksyjInfoOutput.cs
... ... @@ -11,27 +11,27 @@ namespace NCC.Extend.Entitys.Dto.LqXhJksyj
11 11 /// 业绩编号
12 12 /// </summary>
13 13 public string id { get; set; }
14   -
  14 +
15 15 /// <summary>
16 16 /// 关联开单编号
17 17 /// </summary>
18 18 public string glkdbh { get; set; }
19   -
  19 +
20 20 /// <summary>
21 21 /// 健康师
22 22 /// </summary>
23 23 public string jks { get; set; }
24   -
  24 +
25 25 /// <summary>
26 26 /// 健康师姓名
27 27 /// </summary>
28 28 public string jksxm { get; set; }
29   -
  29 +
30 30 /// <summary>
31 31 /// 健康师账号
32 32 /// </summary>
33 33 public string jkszh { get; set; }
34   -
  34 +
35 35 /// <summary>
36 36 /// 健康师业绩
37 37 /// </summary>
... ... @@ -43,6 +43,11 @@ namespace NCC.Extend.Entitys.Dto.LqXhJksyj
43 43 public DateTime? yjsj { get; set; }
44 44  
45 45 /// <summary>
  46 + /// 门店
  47 + /// </summary>
  48 + public string storeName { get; set; }
  49 +
  50 + /// <summary>
46 51 /// 金三角id
47 52 /// </summary>
48 53 public string jsjId { get; set; }
... ... @@ -61,5 +66,16 @@ namespace NCC.Extend.Entitys.Dto.LqXhJksyj
61 66 /// 耗卡品项次数
62 67 /// </summary>
63 68 public decimal? kdpxNumber { get; set; }
  69 +
  70 + /// <summary>
  71 + /// 会员id
  72 + /// </summary>
  73 + public string memberId { get; set; }
  74 +
  75 +
  76 + /// <summary>
  77 + /// 会员名称
  78 + /// </summary>
  79 + public string memberName { get; set; }
64 80 }
65 81 }
66 82 \ No newline at end of file
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhmxb/LqXhmxbCrInput.cs deleted
1   -using System;
2   -using System.Collections.Generic;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqXhmxb
5   -{
6   - /// <summary>
7   - /// 消耗明细表修改输入参数
8   - /// </summary>
9   - public class LqXhmxbCrInput
10   - {
11   - /// <summary>
12   - /// 消耗编号
13   - /// </summary>
14   - public string id { get; set; }
15   -
16   - /// <summary>
17   - /// 门店编号
18   - /// </summary>
19   - public string mdbh { get; set; }
20   -
21   - /// <summary>
22   - /// 门店名称
23   - /// </summary>
24   - public string mdmc { get; set; }
25   -
26   - /// <summary>
27   - /// 部门编号
28   - /// </summary>
29   - public string bmbh { get; set; }
30   -
31   - /// <summary>
32   - /// 部门名称
33   - /// </summary>
34   - public string bmmc { get; set; }
35   -
36   - /// <summary>
37   - /// 员工编号
38   - /// </summary>
39   - public string ygbh { get; set; }
40   -
41   - /// <summary>
42   - /// 员工名称
43   - /// </summary>
44   - public string ygmc { get; set; }
45   -
46   - /// <summary>
47   - /// 项目数
48   - /// </summary>
49   - public string xms { get; set; }
50   -
51   - /// <summary>
52   - /// 消耗
53   - /// </summary>
54   - public string xh { get; set; }
55   -
56   - /// <summary>
57   - /// 手工
58   - /// </summary>
59   - public string sg { get; set; }
60   -
61   - /// <summary>
62   - /// 其它手工1
63   - /// </summary>
64   - public string qtsg1 { get; set; }
65   -
66   - /// <summary>
67   - /// 其它手工2
68   - /// </summary>
69   - public string qtsg2 { get; set; }
70   -
71   - /// <summary>
72   - /// 其它手工3
73   - /// </summary>
74   - public string qtsg3 { get; set; }
75   -
76   - /// <summary>
77   - /// 手工合计
78   - /// </summary>
79   - public string sghj { get; set; }
80   -
81   - }
82   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhmxb/LqXhmxbInfoOutput.cs deleted
1   -using System;
2   -using System.Collections.Generic;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqXhmxb
5   -{
6   - /// <summary>
7   - /// 消耗明细表输出参数
8   - /// </summary>
9   - public class LqXhmxbInfoOutput
10   - {
11   - /// <summary>
12   - /// 消耗编号
13   - /// </summary>
14   - public string id { get; set; }
15   -
16   - /// <summary>
17   - /// 门店编号
18   - /// </summary>
19   - public string mdbh { get; set; }
20   -
21   - /// <summary>
22   - /// 门店名称
23   - /// </summary>
24   - public string mdmc { get; set; }
25   -
26   - /// <summary>
27   - /// 部门编号
28   - /// </summary>
29   - public string bmbh { get; set; }
30   -
31   - /// <summary>
32   - /// 部门名称
33   - /// </summary>
34   - public string bmmc { get; set; }
35   -
36   - /// <summary>
37   - /// 员工编号
38   - /// </summary>
39   - public string ygbh { get; set; }
40   -
41   - /// <summary>
42   - /// 员工名称
43   - /// </summary>
44   - public string ygmc { get; set; }
45   -
46   - /// <summary>
47   - /// 项目数
48   - /// </summary>
49   - public string xms { get; set; }
50   -
51   - /// <summary>
52   - /// 消耗
53   - /// </summary>
54   - public string xh { get; set; }
55   -
56   - /// <summary>
57   - /// 手工
58   - /// </summary>
59   - public string sg { get; set; }
60   -
61   - /// <summary>
62   - /// 其它手工1
63   - /// </summary>
64   - public string qtsg1 { get; set; }
65   -
66   - /// <summary>
67   - /// 其它手工2
68   - /// </summary>
69   - public string qtsg2 { get; set; }
70   -
71   - /// <summary>
72   - /// 其它手工3
73   - /// </summary>
74   - public string qtsg3 { get; set; }
75   -
76   - /// <summary>
77   - /// 手工合计
78   - /// </summary>
79   - public string sghj { get; set; }
80   -
81   - }
82   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhmxb/LqXhmxbListOutput.cs deleted
1   -using System;
2   -
3   -namespace NCC.Extend.Entitys.Dto.LqXhmxb
4   -{
5   - /// <summary>
6   - /// 消耗明细表输入参数
7   - /// </summary>
8   - public class LqXhmxbListOutput
9   - {
10   - /// <summary>
11   - /// 消耗编号
12   - /// </summary>
13   - public string id { get; set; }
14   -
15   - /// <summary>
16   - /// 门店编号
17   - /// </summary>
18   - public string mdbh { get; set; }
19   -
20   - /// <summary>
21   - /// 门店名称
22   - /// </summary>
23   - public string mdmc { get; set; }
24   -
25   - /// <summary>
26   - /// 部门编号
27   - /// </summary>
28   - public string bmbh { get; set; }
29   -
30   - /// <summary>
31   - /// 部门名称
32   - /// </summary>
33   - public string bmmc { get; set; }
34   -
35   - /// <summary>
36   - /// 员工编号
37   - /// </summary>
38   - public string ygbh { get; set; }
39   -
40   - /// <summary>
41   - /// 员工名称
42   - /// </summary>
43   - public string ygmc { get; set; }
44   -
45   - /// <summary>
46   - /// 项目数
47   - /// </summary>
48   - public string xms { get; set; }
49   -
50   - /// <summary>
51   - /// 消耗
52   - /// </summary>
53   - public string xh { get; set; }
54   -
55   - /// <summary>
56   - /// 手工
57   - /// </summary>
58   - public string sg { get; set; }
59   -
60   - /// <summary>
61   - /// 其它手工1
62   - /// </summary>
63   - public string qtsg1 { get; set; }
64   -
65   - /// <summary>
66   - /// 其它手工2
67   - /// </summary>
68   - public string qtsg2 { get; set; }
69   -
70   - /// <summary>
71   - /// 其它手工3
72   - /// </summary>
73   - public string qtsg3 { get; set; }
74   -
75   - /// <summary>
76   - /// 手工合计
77   - /// </summary>
78   - public string sghj { get; set; }
79   -
80   - }
81   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhmxb/LqXhmxbListQueryInput.cs deleted
1   -using NCC.Common.Filter;
2   -using System.Collections.Generic;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqXhmxb
5   -{
6   - /// <summary>
7   - /// 消耗明细表列表查询输入
8   - /// </summary>
9   - public class LqXhmxbListQueryInput : PageInputBase
10   - {
11   - /// <summary>
12   - /// 选择导出数据key
13   - /// </summary>
14   - public string selectKey { get; set; }
15   -
16   - /// <summary>
17   - ///
18   - /// </summary>
19   - public int dataType { get; set; }
20   -
21   -
22   - /// <summary>
23   - /// 消耗编号
24   - /// </summary>
25   - public string id { get; set; }
26   -
27   - /// <summary>
28   - /// 门店编号
29   - /// </summary>
30   - public string mdbh { get; set; }
31   -
32   - /// <summary>
33   - /// 门店名称
34   - /// </summary>
35   - public string mdmc { get; set; }
36   -
37   - /// <summary>
38   - /// 部门编号
39   - /// </summary>
40   - public string bmbh { get; set; }
41   -
42   - /// <summary>
43   - /// 部门名称
44   - /// </summary>
45   - public string bmmc { get; set; }
46   -
47   - /// <summary>
48   - /// 员工编号
49   - /// </summary>
50   - public string ygbh { get; set; }
51   -
52   - /// <summary>
53   - /// 员工名称
54   - /// </summary>
55   - public string ygmc { get; set; }
56   -
57   - /// <summary>
58   - /// 项目数
59   - /// </summary>
60   - public string xms { get; set; }
61   -
62   - /// <summary>
63   - /// 消耗
64   - /// </summary>
65   - public string xh { get; set; }
66   -
67   - /// <summary>
68   - /// 手工
69   - /// </summary>
70   - public string sg { get; set; }
71   -
72   - /// <summary>
73   - /// 其它手工1
74   - /// </summary>
75   - public string qtsg1 { get; set; }
76   -
77   - /// <summary>
78   - /// 其它手工2
79   - /// </summary>
80   - public string qtsg2 { get; set; }
81   -
82   - /// <summary>
83   - /// 其它手工3
84   - /// </summary>
85   - public string qtsg3 { get; set; }
86   -
87   - /// <summary>
88   - /// 手工合计
89   - /// </summary>
90   - public string sghj { get; set; }
91   -
92   - }
93   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhmxb/LqXhmxbUpInput.cs deleted
1   -using System;
2   -using System.Collections.Generic;
3   -
4   -namespace NCC.Extend.Entitys.Dto.LqXhmxb
5   -{
6   - /// <summary>
7   - /// 消耗明细表更新输入参数
8   - /// </summary>
9   - public class LqXhmxbUpInput : LqXhmxbCrInput
10   - {
11   - /// <summary>
12   - /// 消耗编号
13   - /// </summary>
14   - public string id { get; set; }
15   -
16   - }
17   -}
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_hytk/LqHytkHytkEntity.cs
... ... @@ -102,7 +102,6 @@ namespace NCC.Extend.Entitys.lq_hytk_hytk
102 102 [SugarColumn(ColumnName = "tkyy")]
103 103 public string Tkyy { get; set; }
104 104  
105   -
106 105 /// <summary>
107 106 /// 退卡附件
108 107 /// </summary>
... ... @@ -134,16 +133,9 @@ namespace NCC.Extend.Entitys.lq_hytk_hytk
134 133 public string F_ModifyUser { get; set; }
135 134  
136 135 /// <summary>
137   - /// 删除标记
138   - /// </summary>
139   - [SugarColumn(ColumnName = "F_DeleteMark")]
140   - public int? F_DeleteMark { get; set; }
141   -
142   - /// <summary>
143 136 /// 是否有效
144 137 /// </summary>
145 138 [SugarColumn(ColumnName = "F_IsEffective")]
146 139 public int IsEffective { get; set; } = StatusEnum.有效.GetHashCode();
147   -
148 140 }
149 141 }
150 142 \ No newline at end of file
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_jksyj/LqHytkJksyjEntity.cs
... ... @@ -103,13 +103,7 @@ namespace NCC.Extend.Entitys.lq_hytk_jksyj
103 103 public string F_ModifyUser { get; set; }
104 104  
105 105 /// <summary>
106   - /// 删除标记
107   - /// </summary>
108   - [SugarColumn(ColumnName = "F_DeleteMark")]
109   - public int? F_DeleteMark { get; set; }
110   -
111   - /// <summary>
112   - /// 退卡品项明细id
  106 + /// 退卡品相表id
113 107 /// </summary>
114 108 [SugarColumn(ColumnName = "F_CardReturn")]
115 109 public string CardReturn { get; set; }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_kjbsyj/LqHytkKjbsyjEntity.cs
... ... @@ -96,14 +96,9 @@ namespace NCC.Extend.Entitys.lq_hytk_kjbsyj
96 96 [SugarColumn(ColumnName = "F_ModifyUser")]
97 97 public string F_ModifyUser { get; set; }
98 98  
99   - /// <summary>
100   - /// 删除标记
101   - /// </summary>
102   - [SugarColumn(ColumnName = "F_DeleteMark")]
103   - public int? F_DeleteMark { get; set; }
104 99  
105 100 /// <summary>
106   - /// 退卡品项明细id
  101 + /// 退卡品项明细ID
107 102 /// </summary>
108 103 [SugarColumn(ColumnName = "F_CardReturn")]
109 104 public string CardReturn { get; set; }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_hytk_mx/LqHytkMxEntity.cs
... ... @@ -25,7 +25,7 @@ namespace NCC.Extend.Entitys.lq_hytk_mx
25 25 public string RefundInfoId { get; set; }
26 26  
27 27 /// <summary>
28   - /// 退卡记录Id
  28 + /// 开单品项明细表id
29 29 /// </summary>
30 30 [SugarColumn(ColumnName = "F_BillingItemId")]
31 31 public string BillingItemId { get; set; }
... ... @@ -68,12 +68,6 @@ namespace NCC.Extend.Entitys.lq_hytk_mx
68 68 public int ProjectNumber { get; set; }
69 69  
70 70 /// <summary>
71   - /// 是否有效
72   - /// </summary>
73   - [SugarColumn(ColumnName = "F_IsEnabled")]
74   - public int IsEnabled { get; set; } = StatusEnum.有效.GetHashCode();
75   -
76   - /// <summary>
77 71 /// 来源类型
78 72 /// </summary>
79 73 [SugarColumn(ColumnName = "F_SourceType")]
... ... @@ -110,12 +104,6 @@ namespace NCC.Extend.Entitys.lq_hytk_mx
110 104 public string ModifyUser { get; set; }
111 105  
112 106 /// <summary>
113   - /// 删除标记
114   - /// </summary>
115   - [SugarColumn(ColumnName = "F_DeleteMark")]
116   - public int? DeleteMark { get; set; }
117   -
118   - /// <summary>
119 107 /// 是否有效
120 108 /// </summary>
121 109 [SugarColumn(ColumnName = "F_IsEffective")]
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_kdjlb/LqKdKdjlbEntity.cs
... ... @@ -229,5 +229,17 @@ namespace NCC.Extend.Entitys.lq_kd_kdjlb
229 229 /// </summary>
230 230 [SugarColumn(ColumnName = "F_PaidDebt")]
231 231 public decimal PaidDebt { get; set; }
  232 +
  233 + /// <summary>
  234 + /// 补缴开单ID
  235 + /// </summary>
  236 + [SugarColumn(ColumnName = "F_SupplementBillingId")]
  237 + public string SupplementBillingId { get; set; }
  238 +
  239 + /// <summary>
  240 + /// 补缴金额
  241 + /// </summary>
  242 + [SugarColumn(ColumnName = "F_SupplementAmount")]
  243 + public decimal SupplementAmount { get; set; }
232 244 }
233 245 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_kd_qkbj/LqKdQkbjEntity.cs deleted
1   -using NCC.Common.Const;
2   -using SqlSugar;
3   -using System;
4   -
5   -namespace NCC.Extend.Entitys.lq_kd_qkbj
6   -{
7   - /// <summary>
8   - /// 开单欠款补缴记录表
9   - /// </summary>
10   - [SugarTable("lq_kd_qkbj")]
11   - [Tenant(ClaimConst.TENANT_ID)]
12   - public class LqKdQkbjEntity
13   - {
14   - /// <summary>
15   - /// 补缴记录ID
16   - /// </summary>
17   - [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
18   - public string Id { get; set; }
19   -
20   - /// <summary>
21   - /// 开单记录ID
22   - /// </summary>
23   - [SugarColumn(ColumnName = "F_BillingId")]
24   - public string BillingId { get; set; }
25   -
26   - /// <summary>
27   - /// 补缴金额
28   - /// </summary>
29   - [SugarColumn(ColumnName = "F_PaymentAmount")]
30   - public decimal PaymentAmount { get; set; }
31   -
32   - /// <summary>
33   - /// 付款方式
34   - /// </summary>
35   - [SugarColumn(ColumnName = "F_PaymentMethod")]
36   - public string PaymentMethod { get; set; }
37   -
38   - /// <summary>
39   - /// 付款日期
40   - /// </summary>
41   - [SugarColumn(ColumnName = "F_PaymentDate")]
42   - public DateTime PaymentDate { get; set; }
43   -
44   - /// <summary>
45   - /// 收款人员
46   - /// </summary>
47   - [SugarColumn(ColumnName = "F_PaymentUser")]
48   - public string PaymentUser { get; set; }
49   -
50   - /// <summary>
51   - /// 备注
52   - /// </summary>
53   - [SugarColumn(ColumnName = "F_Remarks")]
54   - public string Remarks { get; set; }
55   -
56   - /// <summary>
57   - /// 创建时间
58   - /// </summary>
59   - [SugarColumn(ColumnName = "F_CreateTime")]
60   - public DateTime CreateTime { get; set; }
61   -
62   - /// <summary>
63   - /// 更新时间
64   - /// </summary>
65   - [SugarColumn(ColumnName = "F_UpdateTime")]
66   - public DateTime UpdateTime { get; set; }
67   -
68   - /// <summary>
69   - /// 是否有效
70   - /// </summary>
71   - [SugarColumn(ColumnName = "F_IsEffective")]
72   - public int IsEffective { get; set; } = 1;
73   - }
74   -}
75 0 \ No newline at end of file
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_khxx/LqKhxxEntity.cs
1 1 using System;
2 2 using NCC.Common.Const;
  3 +using NCC.Extend.Entitys.Enum;
3 4 using SqlSugar;
4 5  
5 6 namespace NCC.Extend.Entitys.lq_khxx
... ... @@ -140,5 +141,11 @@ namespace NCC.Extend.Entitys.lq_khxx
140 141 [SugarColumn(ColumnName = "F_SubHealthUser")]
141 142 public string SubHealthUser { get; set; }
142 143  
  144 + /// <summary>
  145 + /// 是否有效
  146 + /// </summary>
  147 + [SugarColumn(ColumnName = "F_IsEffective")]
  148 + public int IsEffective { get; set; } = StatusEnum.有效.GetHashCode();
  149 +
143 150 }
144 151 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_tkjlb/LqTkjlbEntity.cs
1 1 using System;
  2 +using NCC.Common.Enum;
  3 +using NCC.Extend.Entitys.Enum;
2 4 using SqlSugar;
3 5  
4 6 namespace NCC.Extend.Entitys.lq_tkjlb
... ... @@ -92,5 +94,6 @@ namespace NCC.Extend.Entitys.lq_tkjlb
92 94 /// </summary>
93 95 [SugarColumn(ColumnName = "F_CreateTime")]
94 96 public DateTime CreateTime { get; set; } = DateTime.Now;
  97 +
95 98 }
96 99 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_hyhk/LqXhHyhkEntity.cs
1 1 using System;
2 2 using NCC.Common.Const;
  3 +using NCC.Extend.Entitys.Enum;
3 4 using SqlSugar;
4 5  
5 6 namespace NCC.Extend.Entitys.lq_xh_hyhk
... ... @@ -118,6 +119,6 @@ namespace NCC.Extend.Entitys.lq_xh_hyhk
118 119 /// 是否有效
119 120 /// </summary>
120 121 [SugarColumn(ColumnName = "F_IsEffective")]
121   - public int? IsEffective { get; set; } = 1;
  122 + public int IsEffective { get; set; } = StatusEnum.有效.GetHashCode();
122 123 }
123 124 }
... ...
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xhmxb/LqXhmxbEntity.cs deleted
1   -using NCC.Common.Const;
2   -using SqlSugar;
3   -using System;
4   -
5   -namespace NCC.Extend.Entitys.lq_xhmxb
6   -{
7   - /// <summary>
8   - /// 消耗明细表
9   - /// </summary>
10   - [SugarTable("lq_xhmxb")]
11   - [Tenant(ClaimConst.TENANT_ID)]
12   - public class LqXhmxbEntity
13   - {
14   - /// <summary>
15   - /// 消耗编号
16   - /// </summary>
17   - [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
18   - public string Id { get; set; }
19   -
20   - /// <summary>
21   - /// 门店编号
22   - /// </summary>
23   - [SugarColumn(ColumnName = "mdbh")]
24   - public string Mdbh { get; set; }
25   -
26   - /// <summary>
27   - /// 门店名称
28   - /// </summary>
29   - [SugarColumn(ColumnName = "mdmc")]
30   - public string Mdmc { get; set; }
31   -
32   - /// <summary>
33   - /// 部门编号
34   - /// </summary>
35   - [SugarColumn(ColumnName = "bmbh")]
36   - public string Bmbh { get; set; }
37   -
38   - /// <summary>
39   - /// 部门名称
40   - /// </summary>
41   - [SugarColumn(ColumnName = "bmmc")]
42   - public string Bmmc { get; set; }
43   -
44   - /// <summary>
45   - /// 员工编号
46   - /// </summary>
47   - [SugarColumn(ColumnName = "ygbh")]
48   - public string Ygbh { get; set; }
49   -
50   - /// <summary>
51   - /// 员工名称
52   - /// </summary>
53   - [SugarColumn(ColumnName = "ygmc")]
54   - public string Ygmc { get; set; }
55   -
56   - /// <summary>
57   - /// 项目数
58   - /// </summary>
59   - [SugarColumn(ColumnName = "xms")]
60   - public string Xms { get; set; }
61   -
62   - /// <summary>
63   - /// 消耗
64   - /// </summary>
65   - [SugarColumn(ColumnName = "xh")]
66   - public string Xh { get; set; }
67   -
68   - /// <summary>
69   - /// 手工
70   - /// </summary>
71   - [SugarColumn(ColumnName = "sg")]
72   - public string Sg { get; set; }
73   -
74   - /// <summary>
75   - /// 其它手工1
76   - /// </summary>
77   - [SugarColumn(ColumnName = "qtsg1")]
78   - public string Qtsg1 { get; set; }
79   -
80   - /// <summary>
81   - /// 其它手工2
82   - /// </summary>
83   - [SugarColumn(ColumnName = "qtsg2")]
84   - public string Qtsg2 { get; set; }
85   -
86   - /// <summary>
87   - /// 其它手工3
88   - /// </summary>
89   - [SugarColumn(ColumnName = "qtsg3")]
90   - public string Qtsg3 { get; set; }
91   -
92   - /// <summary>
93   - /// 手工合计
94   - /// </summary>
95   - [SugarColumn(ColumnName = "sghj")]
96   - public string Sghj { get; set; }
97   -
98   - }
99   -}
100 0 \ No newline at end of file
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Mapper/LqXhmxbMapper.cs deleted
1   -using NCC.Common.Helper;
2   -using NCC.Extend.Entitys.Dto.LqXhmxb;
3   -using Mapster;
4   -using System.Collections.Generic;
5   -
6   -namespace NCC.Extend.Entitys.Mapper.LqXhmxb
7   -{
8   - public class Mapper : IRegister
9   - {
10   - public void Register(TypeAdapterConfig config)
11   - {
12   - }
13   - }
14   -}
netcore/src/Modularity/Extend/NCC.Extend.Interfaces/ILqXhmxbService.cs deleted
1   -namespace NCC.Extend.Interfaces.LqXhmxb
2   -{
3   - public interface ILqXhmxbService
4   - {
5   - }
6   -}
7 0 \ No newline at end of file
netcore/src/Modularity/Extend/NCC.Extend/LqHytkHytkService.cs
... ... @@ -200,7 +200,6 @@ namespace NCC.Extend.LqHytkHytk
200 200 entity.Id = YitIdHelper.NextId().ToString();
201 201 entity.F_CreateTime = DateTime.Now;
202 202 entity.F_CreateUser = userInfo.userId;
203   - entity.F_DeleteMark = 0;
204 203 entity.IsEffective = StatusEnum.有效.GetHashCode();
205 204 entity.Czry = userInfo.userId;
206 205  
... ... @@ -230,13 +229,11 @@ namespace NCC.Extend.LqHytkHytk
230 229 BillingItemId = item.billingItemId,
231 230 CreateTime = DateTime.Now,
232 231 CreateUser = userInfo.userId,
233   - DeleteMark = 0,
234 232 Px = item.px,
235 233 Pxmc = item.pxmc,
236 234 Pxjg = item.pxjg,
237 235 Tkje = item.tkje,
238 236 ProjectNumber = item.F_ProjectNumber ?? 1,
239   - IsEnabled = item.F_IsEnabled ?? 1,
240 237 SourceType = item.F_SourceType,
241 238 TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)),
242 239 IsEffective = StatusEnum.有效.GetHashCode(),
... ... @@ -263,7 +260,6 @@ namespace NCC.Extend.LqHytkHytk
263 260 F_tkpxNumber = ijks_tem.F_tkpxNumber,
264 261 F_CreateTime = DateTime.Now,
265 262 F_CreateUser = userInfo.userId,
266   - F_DeleteMark = 0,
267 263 CardReturn = lqHytkMxEntity.Id,
268 264 IsEffective = StatusEnum.有效.GetHashCode(),
269 265 }
... ... @@ -291,7 +287,6 @@ namespace NCC.Extend.LqHytkHytk
291 287 F_tkpxNumber = ikjbs_tem.F_tkpxNumber,
292 288 F_CreateTime = DateTime.Now,
293 289 F_CreateUser = userInfo.userId,
294   - F_DeleteMark = 0,
295 290 CardReturn = lqHytkMxEntity.Id,
296 291 IsEffective = StatusEnum.有效.GetHashCode(),
297 292 }
... ... @@ -385,13 +380,11 @@ namespace NCC.Extend.LqHytkHytk
385 380 CreateTime = DateTime.Now,
386 381 CreateUser = userInfo.userId,
387 382 Tksj = input.tksj,
388   - DeleteMark = 0,
389 383 Px = item.px,
390 384 Pxmc = item.pxmc,
391 385 Pxjg = item.pxjg,
392 386 Tkje = item.tkje,
393 387 ProjectNumber = item.F_ProjectNumber ?? 1,
394   - IsEnabled = item.F_IsEnabled ?? 1,
395 388 SourceType = item.F_SourceType,
396 389 TotalPrice = item.F_TotalPrice ?? (item.pxjg * (item.F_ProjectNumber ?? 1)),
397 390 };
... ... @@ -418,7 +411,6 @@ namespace NCC.Extend.LqHytkHytk
418 411 F_tkpxNumber = ijks_tem.F_tkpxNumber,
419 412 F_CreateTime = DateTime.Now,
420 413 F_CreateUser = userInfo.userId,
421   - F_DeleteMark = 0,
422 414 }
423 415 );
424 416 }
... ... @@ -444,7 +436,6 @@ namespace NCC.Extend.LqHytkHytk
444 436 F_tkpxNumber = ikjbs_tem.F_tkpxNumber,
445 437 F_CreateTime = DateTime.Now,
446 438 F_CreateUser = userInfo.userId,
447   - F_DeleteMark = 0,
448 439 }
449 440 );
450 441 }
... ... @@ -479,23 +470,42 @@ namespace NCC.Extend.LqHytkHytk
479 470 }
480 471 #endregion
481 472  
482   - #region 标记退卡信息为无效
  473 + #region 作废退卡信息
483 474 /// <summary>
484   - /// 删除退卡信息(逻辑删除)
  475 + /// 作废退卡信息
485 476 /// </summary>
486 477 /// <param name="id">主键</param>
487 478 /// <returns></returns>
488   - [HttpDelete("{id}")]
489   - public async Task Delete(string id)
  479 + [HttpPut("VoidRefundCardInfo/{id}")]
  480 + public async Task<dynamic> VoidRefundCardInfo(string id)
490 481 {
491   - var entity = await _db.Queryable<LqHytkHytkEntity>().FirstAsync(p => p.Id == id);
492   - if (entity != null)
  482 + try
493 483 {
  484 + var entity = await _db.Queryable<LqHytkHytkEntity>().FirstAsync(p => p.Id == id && p.IsEffective == StatusEnum.有效.GetHashCode());
  485 + if (entity == null)
  486 + {
  487 + throw NCCException.Oh("退卡信息不存在或已被作废");
  488 + }
  489 + // 开启事务
  490 + _db.BeginTran();
  491 + // 更新主表
494 492 entity.IsEffective = StatusEnum.无效.GetHashCode();
495   - await _lqHytkHytkRepository.UpdateAsync(entity);
  493 + entity.F_ModifyTime = DateTime.Now;
  494 + await _db.Updateable(entity).ExecuteCommandAsync();
  495 + // 更新明细表
496 496 await _db.Updateable<LqHytkMxEntity>().SetColumns(it => new LqHytkMxEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.RefundInfoId == id).ExecuteCommandAsync();
  497 + // 更新健康师业绩表
497 498 await _db.Updateable<LqHytkJksyjEntity>().SetColumns(it => new LqHytkJksyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.Gltkbh == id).ExecuteCommandAsync();
  499 + // 更新科技部业绩表
498 500 await _db.Updateable<LqHytkKjbsyjEntity>().SetColumns(it => new LqHytkKjbsyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.Gltkbh == id).ExecuteCommandAsync();
  501 + // 提交事务
  502 + _db.CommitTran();
  503 + return entity;
  504 + }
  505 + catch (Exception ex)
  506 + {
  507 + _db.RollbackTran();
  508 + throw NCCException.Oh($"删除退卡信息失败: {ex.Message}");
499 509 }
500 510 }
501 511 #endregion
... ... @@ -598,10 +608,10 @@ namespace NCC.Extend.LqHytkHytk
598 608 try
599 609 {
600 610 // 1. 查询主表信息
601   - var entity = await _db.Queryable<LqHytkHytkEntity>().FirstAsync(p => p.Id == id);
  611 + var entity = await _db.Queryable<LqHytkHytkEntity>().Where(p => p.Id == id && p.IsEffective == StatusEnum.有效.GetHashCode()).FirstAsync();
602 612 if (entity == null)
603 613 {
604   - throw NCCException.Oh(ErrorCode.COM1005, "退卡记录不存在");
  614 + throw NCCException.Oh(ErrorCode.COM1005, "退卡记录不存在或已作废");
605 615 }
606 616  
607 617 var output = entity.Adapt<LqHytkHytkInfoOutput>();
... ... @@ -629,7 +639,6 @@ namespace NCC.Extend.LqHytkHytk
629 639 pxjg = mx.Pxjg,
630 640 tkje = mx.Tkje,
631 641 projectNumber = mx.ProjectNumber,
632   - isEnabled = mx.IsEnabled,
633 642 sourceType = mx.SourceType,
634 643 totalPrice = mx.TotalPrice,
635 644 };
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqKdKdjlbService.cs
... ... @@ -27,7 +27,6 @@ using NCC.Extend.Entitys.lq_kd_jksyj;
27 27 using NCC.Extend.Entitys.lq_kd_kdjlb;
28 28 using NCC.Extend.Entitys.lq_kd_kjbsyj;
29 29 using NCC.Extend.Entitys.lq_kd_pxmx;
30   -using NCC.Extend.Entitys.lq_kd_qkbj;
31 30 using NCC.Extend.Entitys.lq_khxx;
32 31 using NCC.Extend.Entitys.lq_xh_pxmx;
33 32 using NCC.Extend.Entitys.lq_xmzl;
... ... @@ -144,7 +143,7 @@ namespace NCC.Extend.LqKdKdjlb
144 143 totalPrice = pxmx.TotalPrice,
145 144 actualPrice = pxmx.ActualPrice,
146 145 remark = pxmx.Remark,
147   - IsEffective = pxmx.IsEffective,
  146 + isEffective = pxmx.IsEffective,
148 147 };
149 148  
150 149 // 关联该品项的健康师业绩
... ... @@ -309,6 +308,22 @@ namespace NCC.Extend.LqKdKdjlb
309 308 // await _db.Updateable<LqKdDeductinfoEntity>().Where(p => p.BillingId == input.cancelRefId).UpdateColumns(p => new LqKdDeductinfoEntity { IsEffective = StatusEnum.无效.GetHashCode() }).ExecuteCommandAsync();
310 309 // }
311 310  
  311 + //判断是否有补缴开单ID
  312 + if (!string.IsNullOrEmpty(input.supplementBillingId))
  313 + {
  314 + //查询补缴开单ID
  315 + var supplementBillingEntity = await _db.Queryable<LqKdKdjlbEntity>().FirstAsync(p => p.Id == input.supplementBillingId);
  316 + if (supplementBillingEntity == null || supplementBillingEntity.IsEffective == StatusEnum.无效.GetHashCode())
  317 + {
  318 + throw NCCException.Oh("补缴开单记录不存在或已作废");
  319 + }
  320 + //然后对之前的开单表的补缴金额进行累加
  321 + //需要判断补缴金额是否超过欠款金额,只记录应缴金额
  322 + var supplementAmount = supplementBillingEntity.Qk - supplementBillingEntity.PaidDebt;
  323 + entity.PaidDebt += input.supplementAmount > supplementAmount ? supplementAmount : input.supplementAmount;
  324 + await _db.Updateable(entity).ExecuteCommandAsync();
  325 + }
  326 +
312 327 //新增开单记录表记录
313 328 entity.CreateUser = userInfo.userId;
314 329 entity.DeductAmount = input.lqKdKdjlbDeductList.Sum(x => x.Amount ?? 0);//计算储扣总金额
... ... @@ -1548,158 +1563,96 @@ namespace NCC.Extend.LqKdKdjlb
1548 1563 }
1549 1564 #endregion
1550 1565  
1551   - #region 补缴欠款
  1566 + #region 根据门店获取该门店的欠款记录
1552 1567 /// <summary>
1553   - /// 补缴欠款
  1568 + /// 根据门店获取该门店的欠款记录
1554 1569 /// </summary>
1555   - /// <param name="input">补缴欠款输入</param>
1556   - /// <returns>补缴记录ID</returns>
  1570 + /// <param name="input">查询参数</param>
  1571 + /// <returns>分页的欠款记录</returns>
1557 1572 /// <remarks>
1558   - /// 为客户补缴欠款,记录补缴信息并更新开单记录的已缴欠款金额
  1573 + /// 获取指定门店的欠款记录,考虑已缴欠款情况,支持分页
1559 1574 ///
1560 1575 /// 示例请求:
1561 1576 /// ```json
1562 1577 /// {
1563   - /// "billingId": "123456789",
1564   - /// "paymentAmount": 1000.00,
1565   - /// "paymentMethod": "现金",
1566   - /// "paymentDate": "2025-01-15T10:30:00",
1567   - /// "paymentUser": "收款员",
1568   - /// "remarks": "客户补缴欠款"
  1578 + /// "storeId": "门店ID",
  1579 + /// "currentPage": 1,
  1580 + /// "pageSize": 10,
  1581 + /// "sidx": "Kdrq",
  1582 + /// "sort": "desc"
1569 1583 /// }
1570 1584 /// ```
1571 1585 ///
1572 1586 /// 参数说明:
1573   - /// - billingId: 开单记录ID(必填)
1574   - /// - paymentAmount: 补缴金额(必填)
1575   - /// - paymentMethod: 付款方式
1576   - /// - paymentDate: 付款日期
1577   - /// - paymentUser: 收款人员
1578   - /// - remarks: 备注信息
  1587 + /// - storeId: 门店ID,必填
  1588 + /// - currentPage: 当前页码
  1589 + /// - pageSize: 每页大小
  1590 + /// - sidx: 排序字段,默认按开单日期
  1591 + /// - sort: 排序方式,默认降序
  1592 + ///
  1593 + /// 返回说明:
  1594 + /// - 只返回仍有欠款的记录(总欠款 > 已缴欠款)
  1595 + /// - 包含开单编号、客户信息、欠款金额、已缴金额等
1579 1596 /// </remarks>
1580   - /// <response code="200">补缴成功,返回补缴记录ID</response>
1581   - /// <response code="400">请求参数错误</response>
1582   - /// <response code="404">开单记录不存在</response>
1583   - /// <response code="500">服务器内部错误</response>
1584   - [HttpPost("PayDebtAsync")]
1585   - public async Task<dynamic> PayDebtAsync(PayDebtInput input)
  1597 + /// <response code="200">成功返回分页的欠款记录列表</response>
  1598 + /// <response code="400">门店ID不能为空</response>
  1599 + /// <response code="500">服务器错误</response>
  1600 + [HttpGet("GetDebtRecordByStoreId")]
  1601 + public async Task<dynamic> GetDebtRecordByStoreId([FromQuery] DebtRecordQueryInput input)
1586 1602 {
1587 1603 try
1588 1604 {
1589   - // 验证补缴金额
1590   - if (input.PaymentAmount <= 0)
1591   - {
1592   - throw NCCException.Oh("补缴金额必须大于0");
1593   - }
1594   -
1595   - // 检查开单记录是否存在
1596   - var billingRecord = await _db.Queryable<LqKdKdjlbEntity>().Where(w => w.Id == input.BillingId).FirstAsync();
1597   - if (billingRecord == null || billingRecord.IsEffective == StatusEnum.无效.GetHashCode())
1598   - {
1599   - throw NCCException.Oh("开单记录不存在或已作废");
1600   - }
1601   - // 检查补缴金额是否超过欠款金额
1602   - var remainingDebt = billingRecord.Qk - billingRecord.PaidDebt;
1603   - if (input.PaymentAmount > remainingDebt)
1604   - {
1605   - throw NCCException.Oh($"补缴金额({input.PaymentAmount})不能超过剩余欠款金额({remainingDebt})");
1606   - }
1607   - // 开始事务
1608   - _db.BeginTran();
1609   - try
1610   - {
1611   - // 创建补缴记录
1612   - var paymentRecord = new LqKdQkbjEntity
1613   - {
1614   - Id = YitIdHelper.NextId().ToString(),
1615   - BillingId = input.BillingId,
1616   - PaymentAmount = input.PaymentAmount,
1617   - PaymentMethod = input.PaymentMethod,
1618   - PaymentDate = input.PaymentDate ?? DateTime.Now,
1619   - PaymentUser = input.PaymentUser ?? _userManager.UserId,
1620   - Remarks = input.Remarks,
1621   - CreateTime = DateTime.Now,
1622   - UpdateTime = DateTime.Now,
1623   - IsEffective = StatusEnum.有效.GetHashCode()
1624   - };
1625   - // 保存补缴记录
1626   - await _db.Insertable(paymentRecord).ExecuteCommandAsync();
1627   -
1628   - // 更新开单记录的已缴欠款金额
1629   - await _db.Updateable<LqKdKdjlbEntity>()
1630   - .SetColumns(it => new LqKdKdjlbEntity
1631   - {
1632   - PaidDebt = it.PaidDebt + input.PaymentAmount,
1633   - UpdateTime = DateTime.Now
1634   - })
1635   - .Where(w => w.Id == input.BillingId)
1636   - .ExecuteCommandAsync();
1637   -
1638   - // 提交事务
1639   - _db.CommitTran();
1640   - return new
1641   - {
1642   - success = true,
1643   - message = "补缴成功",
1644   - data = paymentRecord.Id
1645   - };
1646   - }
1647   - catch
  1605 + if (string.IsNullOrEmpty(input.StoreId))
1648 1606 {
1649   - // 回滚事务
1650   - _db.RollbackTran();
1651   - throw;
  1607 + throw NCCException.Oh("门店ID不能为空");
1652 1608 }
1653   - }
1654   - catch (Exception ex)
1655   - {
1656   - throw NCCException.Oh($"补缴欠款失败: {ex.Message}");
1657   - }
1658   - }
1659   -
1660   -
1661   - #endregion
1662   -
1663   - #region 补缴欠款查询
1664   - /// <summary>
1665   - /// 获取补缴欠款记录列表
1666   - /// </summary>
1667   - /// <param name="input">查询输入</param>
1668   - /// <returns>补缴记录列表</returns>
1669   - /// <remarks>
1670   - /// 获取指定开单记录的补缴欠款历史记录
1671   - /// </remarks>
1672   - /// <response code="200">成功获取补缴记录列表</response>
1673   - /// <response code="400">请求参数错误</response>
1674   - /// <response code="500">服务器内部错误</response>
1675   - [HttpGet("GetDebtPaymentRecordsAsync")]
1676   - public async Task<dynamic> GetDebtPaymentRecordsAsync([FromQuery] DebtPaymentQueryInput input)
1677   - {
1678   - try
1679   - {
1680   - var sidx = input.sidx == null ? "PaymentDate" : input.sidx;
1681   - var data = await _db.Queryable<LqKdQkbjEntity>()
1682   - .WhereIF(!string.IsNullOrEmpty(input.BillingId), w => w.BillingId == input.BillingId)
1683   - .WhereIF(input.PaymentDateStart.HasValue, w => w.PaymentDate >= input.PaymentDateStart.Value)
1684   - .WhereIF(input.PaymentDateEnd.HasValue, w => w.PaymentDate <= input.PaymentDateEnd.Value)
1685   - .WhereIF(!string.IsNullOrEmpty(input.PaymentUser), w => w.PaymentUser.Contains(input.PaymentUser))
1686   - .Select(it => new DebtPaymentRecordOutput
  1609 + var sidx = string.IsNullOrEmpty(input.sidx) ? "Kdrq" : input.sidx;
  1610 + var sort = string.IsNullOrEmpty(input.sort) ? "desc" : input.sort;
  1611 + // 获取该门店的欠款记录,考虑已缴欠款情况
  1612 + // 只返回仍有欠款的记录:总欠款 > 已缴欠款
  1613 + var debtRecords = await _db.Queryable<LqKdKdjlbEntity>()
  1614 + .Where(p => p.Djmd == input.StoreId && p.Qk > p.PaidDebt && p.IsEffective == StatusEnum.有效.GetHashCode())
  1615 + .Select(it => new LqKdKdjlbListOutput
1687 1616 {
1688   - Id = it.Id,
1689   - BillingId = it.BillingId,
1690   - PaymentAmount = it.PaymentAmount,
1691   - PaymentMethod = it.PaymentMethod,
1692   - PaymentDate = it.PaymentDate,
1693   - PaymentUser = it.PaymentUser,
1694   - Remarks = it.Remarks,
1695   - CreateTime = it.CreateTime
1696   - }).MergeTable().OrderBy(sidx + " " + input.sort).ToPagedListAsync(input.currentPage, input.pageSize);
1697   -
1698   - return PageResult<DebtPaymentRecordOutput>.SqlSugarPageResult(data);
  1617 + id = it.Id,
  1618 + djmd = it.Djmd,
  1619 + jsj = it.Jsj,
  1620 + kdrq = it.Kdrq,
  1621 + gjlx = it.Gjlx,
  1622 + hgjg = it.Hgjg,
  1623 + zdyj = it.Zdyj,
  1624 + sfyj = it.Sfyj,
  1625 + qk = it.Qk,
  1626 + ckfs = it.Ckfs,
  1627 + PaidDebt = it.PaidDebt,
  1628 + fkfs = it.Fkfs,
  1629 + fkyy = it.Fkyy,
  1630 + fkpd = it.Fkpd,
  1631 + khly = it.Khly,
  1632 + tjr = it.Tjr,
  1633 + deductAmount = it.DeductAmount,
  1634 + sfskdd = it.Sfskdd,
  1635 + jj = it.Jj,
  1636 + bz = it.Bz,
  1637 + kdhy = it.Kdhy,
  1638 + kdhyc = it.Kdhyc,
  1639 + kdhysjh = it.Kdhysjh,
  1640 + jksyj = it.Jksyj,
  1641 + kjblsyj = it.Kjblsyj,
  1642 + pxxx = it.Pxxx,
  1643 + IsEffective = it.IsEffective,
  1644 + CreateUser = it.CreateUser,
  1645 + CreateUserName = SqlFunc.Subqueryable<UserEntity>().Where(x => x.Id == it.CreateUser).Select(x => x.RealName),
  1646 + })
  1647 + .MergeTable()
  1648 + .OrderBy(sidx + " " + sort)
  1649 + .ToPagedListAsync(input.currentPage, input.pageSize);
  1650 +
  1651 + return PageResult<LqKdKdjlbListOutput>.SqlSugarPageResult(debtRecords);
1699 1652 }
1700 1653 catch (Exception ex)
1701 1654 {
1702   - throw NCCException.Oh($"获取补缴记录失败: {ex.Message}");
  1655 + throw NCCException.Oh($"获取门店欠款记录失败: {ex.Message}");
1703 1656 }
1704 1657 }
1705 1658 #endregion
... ... @@ -1725,14 +1678,14 @@ namespace NCC.Extend.LqKdKdjlb
1725 1678 {
1726 1679 return (false, "该开单记录已经作废");
1727 1680 }
1728   - // 查询开单记录下的品项明细ID列表
1729   - var pxmxIdList = await _db.Queryable<LqKdPxmxEntity>().Where(p => p.Glkdbh == billingId).Select(p => p.Id).Distinct().ToListAsync();
1730   - //判断是否有对应的补缴记录
1731   - var qkbjList = await _db.Queryable<LqKdQkbjEntity>().Where(p => p.BillingId == billingId).ToListAsync();
  1681 + // 判断是否有对应的补缴记录
  1682 + var qkbjList = await _db.Queryable<LqKdKdjlbEntity>().Where(p => p.SupplementBillingId == billingId).ToListAsync();
1732 1683 if (qkbjList.Any())
1733 1684 {
1734 1685 return (false, "该开单记录有对应的补缴记录,不能进行操作");
1735 1686 }
  1687 + // 查询开单记录下的品项明细ID列表
  1688 + var pxmxIdList = await _db.Queryable<LqKdPxmxEntity>().Where(p => p.Glkdbh == billingId).Select(p => p.Id).Distinct().ToListAsync();
1736 1689 // 判断是否有对应的消耗记录
1737 1690 var xhPxmxList = await _db.Queryable<LqXhPxmxEntity>().Where(p => pxmxIdList.Contains(p.BillingItemId)).ToListAsync();
1738 1691 if (xhPxmxList.Any())
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
... ... @@ -352,7 +352,7 @@ namespace NCC.Extend.LqKhxx
352 352 throw NCCException.Oh("客户不存在");
353 353 }
354 354 // 查询开单记录数量
355   - var orderCount = await _db.Queryable<LqKdKdjlbEntity>().Where(o => o.Kdhy == customerId && o.IsEffective == StatusEnum.有效.GetHashCode()).CountAsync();
  355 + var orderCount = await _db.Queryable<LqKdKdjlbEntity>().Where(o => o.Kdhy == customerId && o.IsEffective == StatusEnum.有效.GetHashCode() && o.Sfyj > 0).CountAsync();
356 356 var hasOrderRecord = orderCount > 0;
357 357 var orderType = hasOrderRecord ? "repeat_order" : "first_order";
358 358 return new LqKhxxOrderTypeOutput
... ... @@ -569,7 +569,7 @@ namespace NCC.Extend.LqKhxx
569 569 // 查询退卡数据
570 570 var refundedData = await _db.Queryable<LqHytkMxEntity>()
571 571 .Where(x => baseItems.Select(b => b.Id).Contains(x.BillingItemId))
572   - // .Where(x => x.IsEffective == StatusEnum.有效.GetHashCode())
  572 + .Where(x => x.IsEffective == StatusEnum.有效.GetHashCode())
573 573 .GroupBy(x => x.BillingItemId)
574 574 .Select(x => new
575 575 {
... ... @@ -609,6 +609,8 @@ namespace NCC.Extend.LqKhxx
609 609 {
610 610 item.RemainingCount = item.TotalPurchased - item.ConsumedCount - item.RefundedCount - item.DeductCount;
611 611 }
  612 + //过滤剩余数量为0的品项,先暂时为不等于 0 ,因为现在有问题,会出现负数,后面再修改
  613 + remainingItems = remainingItems.Where(item => item.RemainingCount != 0).ToList();
612 614 return new MemberRemainingItemsOutput
613 615 {
614 616 MemberId = memberId,
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs
... ... @@ -19,6 +19,7 @@ using NCC.Extend.Entitys.Dto.LqTkjlb;
19 19 using NCC.Extend.Entitys.Enum;
20 20 using NCC.Extend.Entitys.lq_event;
21 21 using NCC.Extend.Entitys.lq_eventuser;
  22 +using NCC.Extend.Entitys.lq_kd_kdjlb;
22 23 using NCC.Extend.Entitys.lq_khxx;
23 24 using NCC.Extend.Entitys.lq_mdxx;
24 25 using NCC.Extend.Entitys.lq_tkjlb;
... ... @@ -80,7 +81,7 @@ namespace NCC.Extend.LqTkjlb
80 81 teamName = p.TeamName,
81 82 eventId = p.EventId,
82 83 eventName = SqlFunc.Subqueryable<LqEventEntity>().Where(e => e.Id == p.EventId).Select(e => e.EventName),
83   - storeName = SqlFunc.Subqueryable<LqMdxxEntity>().Where(u => u.Id == p.StoreId).Select(u => u.Dm),
  84 + storeName = SqlFunc.Subqueryable<LqMdxxEntity>().Where(u => u.Id == p.StoreId).Select(u => u.Dm)
84 85 })
85 86 .FirstAsync();
86 87  
... ... @@ -187,6 +188,7 @@ namespace NCC.Extend.LqTkjlb
187 188 MemberInfo.Khlx = MemberTypeEnum.线索.GetHashCode().ToString();
188 189 MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmssfff");
189 190 MemberInfo.Jdqd = "19.9卡";
  191 +
190 192 //找到input.expansionUserId的用户信息
191 193 var userInfo = await _db.Queryable<UserEntity>().Where(u => u.Id == input.expansionUserId).FirstAsync();
192 194 //判断 岗位是否为健康师,如果是健康师,则设置拓客人员是健康师
... ... @@ -523,5 +525,7 @@ namespace NCC.Extend.LqTkjlb
523 525 return result.OrderByDescending(t => t.totalCount).ToList();
524 526 }
525 527 #endregion
  528 +
  529 +
526 530 }
527 531 }
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs
... ... @@ -20,6 +20,7 @@ using NCC.Extend.Entitys.Dto.LqXhHyhk;
20 20 using NCC.Extend.Entitys.Dto.LqXhJksyj;
21 21 using NCC.Extend.Entitys.Dto.LqXhKjbsyj;
22 22 using NCC.Extend.Entitys.Dto.LqXhPxmx;
  23 +using NCC.Extend.Entitys.Enum;
23 24 using NCC.Extend.Entitys.lq_kd_kdjlb;
24 25 using NCC.Extend.Entitys.lq_kd_pxmx;
25 26 using NCC.Extend.Entitys.lq_khxx;
... ... @@ -521,6 +522,12 @@ namespace NCC.Extend.LqXhHyhk
521 522 {
522 523 //开启事务
523 524 _db.BeginTran();
  525 + //查询记录
  526 + var LqXhHyhkInfo = await _db.Queryable<LqXhHyhkEntity>().Where(p => p.Id == id && p.IsEffective == StatusEnum.有效.GetHashCode()).FirstAsync();
  527 + if (LqXhHyhkInfo == null)
  528 + {
  529 + throw NCCException.Oh(ErrorCode.COM1005, "耗卡记录不存在或已作废");
  530 + }
524 531 entity.UpdateTime = DateTime.Now;
525 532 //更新会员耗卡记录
526 533 await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
... ... @@ -528,57 +535,31 @@ namespace NCC.Extend.LqXhHyhk
528 535 //清空原有数据
529 536 await _db.Deleteable<LqXhJksyjEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
530 537 await _db.Deleteable<LqXhKjbsyjEntity>().Where(u => u.Glkdbh == id).ExecuteCommandAsync();
531   -
532   - // 注意:品项明细表不做删除操作,只更新或新增
533   - // await _db.Deleteable<LqXhPxmxEntity>().Where(u => u.ConsumeInfoId == id).ExecuteCommandAsync();
534   -
  538 + await _db.Deleteable<LqXhPxmxEntity>().Where(u => u.ConsumeInfoId == id).ExecuteCommandAsync();
535 539 // 收集所有需要插入的实体,然后批量插入
536 540 var allPxmxEntities = new List<LqXhPxmxEntity>();
537 541 var allJksyjEntities = new List<LqXhJksyjEntity>();
538 542 var allKjbsyjEntities = new List<LqXhKjbsyjEntity>();
539   -
540 543 // 处理品项明细列表
541 544 if (input.lqXhPxmxList != null && input.lqXhPxmxList.Any())
542 545 {
543 546 foreach (var item in input.lqXhPxmxList)
544 547 {
545   - // 检查品项明细是否已存在
546   - var existingPxmx = await _db.Queryable<LqXhPxmxEntity>()
547   - .Where(p => p.Id == item.id)
548   - .FirstAsync();
549   -
550   - LqXhPxmxEntity lqXhPxmxEntity;
551   - if (existingPxmx != null)
552   - {
553   - // 更新现有记录
554   - lqXhPxmxEntity = existingPxmx;
555   - // 注意:LqXhPxmxEntity 没有 UpdateTime 字段
556   - lqXhPxmxEntity.MemberId = entity.Hy;
557   - lqXhPxmxEntity.ProjectNumber = item.projectNumber ?? 1;
558   - lqXhPxmxEntity.TotalPrice = (decimal)(item.pxjg * (item.projectNumber ?? 1));
559   - lqXhPxmxEntity.Px = item.px;
560   - lqXhPxmxEntity.Pxmc = item.pxmc;
561   - lqXhPxmxEntity.Pxjg = item.pxjg;
562   - lqXhPxmxEntity.SourceType = item.sourceType;
563   - }
564   - else
  548 + // 创建品项明细实体
  549 + var lqXhPxmxEntity = new LqXhPxmxEntity
565 550 {
566   - // 创建新记录
567   - lqXhPxmxEntity = new LqXhPxmxEntity
568   - {
569   - Id = YitIdHelper.NextId().ToString(),
570   - ConsumeInfoId = entity.Id,
571   - BillingItemId = item.billingItemId,
572   - CreateTIme = DateTime.Now,
573   - MemberId = entity.Hy,
574   - ProjectNumber = item.projectNumber ?? 1,
575   - TotalPrice = (decimal)(item.pxjg * (item.projectNumber ?? 1)),
576   - Px = item.px,
577   - Pxmc = item.pxmc,
578   - Pxjg = item.pxjg,
579   - SourceType = item.sourceType,
580   - };
581   - }
  551 + Id = YitIdHelper.NextId().ToString(),
  552 + ConsumeInfoId = input.id,
  553 + BillingItemId = item.billingItemId,
  554 + CreateTIme = DateTime.Now,
  555 + MemberId = entity.Hy,
  556 + ProjectNumber = item.projectNumber ?? 1,
  557 + TotalPrice = (decimal)(item.pxjg * (item.projectNumber ?? 1)),
  558 + Px = item.px,
  559 + Pxmc = item.pxmc,
  560 + Pxjg = item.pxjg,
  561 + SourceType = item.sourceType,
  562 + };
582 563 allPxmxEntities.Add(lqXhPxmxEntity);
583 564  
584 565 // 收集该品项关联的健康师业绩
... ... @@ -590,7 +571,7 @@ namespace NCC.Extend.LqXhHyhk
590 571 new LqXhJksyjEntity
591 572 {
592 573 Id = YitIdHelper.NextId().ToString(),
593   - Glkdbh = entity.Id,
  574 + Glkdbh = input.id,
594 575 Jks = ijks_tem.jks,
595 576 Jksxm = ijks_tem.jksxm,
596 577 Jkszh = ijks_tem.jkszh,
... ... @@ -614,7 +595,7 @@ namespace NCC.Extend.LqXhHyhk
614 595 new LqXhKjbsyjEntity
615 596 {
616 597 Id = YitIdHelper.NextId().ToString(),
617   - Glkdbh = entity.Id,
  598 + Glkdbh = input.id,
618 599 Kjbls = ikjbs_tem.kjbls,
619 600 Kjblsxm = ikjbs_tem.kjblsxm,
620 601 Kjblszh = ikjbs_tem.kjblszh,
... ... @@ -629,22 +610,10 @@ namespace NCC.Extend.LqXhHyhk
629 610 }
630 611 }
631 612 }
632   -
633 613 // 批量插入品项明细
634 614 if (allPxmxEntities.Any())
635 615 {
636   - // 分别处理插入和更新
637   - var existingEntities = allPxmxEntities.Where(e => !string.IsNullOrEmpty(e.Id)).ToList();
638   - var newEntities = allPxmxEntities.Where(e => string.IsNullOrEmpty(e.Id)).ToList();
639   -
640   - if (existingEntities.Any())
641   - {
642   - await _db.Updateable(existingEntities).ExecuteCommandAsync();
643   - }
644   - if (newEntities.Any())
645   - {
646   - await _db.Insertable(newEntities).ExecuteCommandAsync();
647   - }
  616 + await _db.Insertable(allPxmxEntities).ExecuteCommandAsync();
648 617 }
649 618 // 批量插入健康师业绩
650 619 if (allJksyjEntities.Any())
... ... @@ -656,8 +625,7 @@ namespace NCC.Extend.LqXhHyhk
656 625 {
657 626 await _db.Insertable(allKjbsyjEntities).ExecuteCommandAsync();
658 627 }
659   -
660   - //关闭事务
  628 + // 提交事务
661 629 _db.CommitTran();
662 630 }
663 631 catch (Exception)
... ... @@ -707,5 +675,198 @@ namespace NCC.Extend.LqXhHyhk
707 675 }
708 676 }
709 677 #endregion
  678 +
  679 + #region 查询健康师消耗业绩列表
  680 + /// <summary>
  681 + /// 查询健康师业绩列表
  682 + /// </summary>
  683 + /// <param name="input">查询参数</param>
  684 + /// <returns>分页的健康师业绩列表</returns>
  685 + /// <remarks>
  686 + /// 查询健康师业绩记录,支持分页和时间筛选
  687 + ///
  688 + /// 示例请求:
  689 + /// ```json
  690 + /// {
  691 + /// "glkdbh": "123456789",
  692 + /// "jksId": "健康师ID",
  693 + /// "startTime": "2025-01-01T00:00:00",
  694 + /// "endTime": "2025-01-31T23:59:59",
  695 + /// "currentPage": 1,
  696 + /// "pageSize": 10,
  697 + /// "sidx": "yjsj",
  698 + /// "sort": "desc"
  699 + /// }
  700 + /// ```
  701 + ///
  702 + /// 参数说明:
  703 + /// - glkdbh: 开单记录ID(可选)
  704 + /// - jksId: 健康师ID(可选)
  705 + /// - startTime: 查询开始时间(可选)
  706 + /// - endTime: 查询结束时间(可选)
  707 + /// - currentPage: 当前页码
  708 + /// - pageSize: 每页大小
  709 + /// </remarks>
  710 + /// <response code="200">成功获取健康师业绩列表</response>
  711 + /// <response code="400">请求参数错误</response>
  712 + /// <response code="500">服务器内部错误</response>
  713 + [HttpGet("GetJksyjList")]
  714 + public async Task<dynamic> GetJksyjList([FromQuery] LqXhJksyjQueryInput input)
  715 + {
  716 + try
  717 + {
  718 + var sidx = string.IsNullOrEmpty(input.sidx) ? "yjsj" : input.sidx;
  719 + var sort = string.IsNullOrEmpty(input.sort) ? "desc" : input.sort;
  720 + var data = await _db.Queryable<LqXhJksyjEntity>()
  721 + .WhereIF(!string.IsNullOrEmpty(input.Glkdbh), w => w.Glkdbh == input.Glkdbh)
  722 + .WhereIF(!string.IsNullOrEmpty(input.JksId), w => w.Jks == input.JksId)
  723 + .WhereIF(input.StartTime.HasValue, w => w.Yjsj >= input.StartTime.Value)
  724 + .WhereIF(input.EndTime.HasValue, w => w.Yjsj <= input.EndTime.Value)
  725 + .Where(w => w.IsEffective == StatusEnum.有效.GetHashCode())
  726 + .Select(it => new LqXhJksyjInfoOutput
  727 + {
  728 + id = it.Id,
  729 + glkdbh = it.Glkdbh,
  730 + jks = it.Jks,
  731 + jksxm = it.Jksxm,
  732 + jkszh = it.Jkszh,
  733 + jksyj = it.Jksyj.ToString(),
  734 + yjsj = it.Yjsj,
  735 + jsjId = it.JsjId,
  736 + kdpxid = it.Kdpxid,
  737 + laborCost = it.LaborCost,
  738 + kdpxNumber = it.KdpxNumber,
  739 + storeName = SqlFunc.Subqueryable<LqXhHyhkEntity>().Where(w => w.Id == it.Glkdbh).Select(w => w.Mdmc),
  740 + memberId = SqlFunc.Subqueryable<LqXhHyhkEntity>().Where(w => w.Id == it.Glkdbh).Select(w => w.Hy),
  741 + memberName = SqlFunc.Subqueryable<LqXhHyhkEntity>().Where(w => w.Id == it.Glkdbh).Select(w => w.Hymc),
  742 + })
  743 + .MergeTable()
  744 + .OrderBy(sidx + " " + sort)
  745 + .ToPagedListAsync(input.currentPage, input.pageSize);
  746 +
  747 + return PageResult<LqXhJksyjInfoOutput>.SqlSugarPageResult(data);
  748 + }
  749 + catch (Exception ex)
  750 + {
  751 + throw NCCException.Oh($"获取健康师业绩列表失败: {ex.Message}");
  752 + }
  753 + }
  754 + #endregion
  755 +
  756 + #region 耗卡记录作废
  757 + /// <summary>
  758 + /// 耗卡记录作废
  759 + /// </summary>
  760 + /// <param name="id">耗卡记录ID</param>
  761 + /// <returns></returns>
  762 + [HttpPut("CancelCardUsageRecord/{id}")]
  763 + public async Task<dynamic> CancelCardUsageRecord(string id)
  764 + {
  765 + try
  766 + {
  767 + //开启事务
  768 + _db.BeginTran();
  769 + //查询消耗记录表信息
  770 + var LqhyhkInfo = await _db.Queryable<LqXhHyhkEntity>().Where(p => p.Id == id && p.IsEffective == StatusEnum.有效.GetHashCode()).FirstAsync();
  771 + if (LqhyhkInfo == null)
  772 + {
  773 + throw NCCException.Oh(ErrorCode.COM1005, "耗卡记录不存在或已作废");
  774 + }
  775 + //更新耗卡记录状态
  776 + LqhyhkInfo.IsEffective = StatusEnum.无效.GetHashCode();
  777 + await _db.Updateable(LqhyhkInfo).ExecuteCommandAsync();
  778 + //更新品项明细表状态
  779 + await _db.Updateable<LqXhPxmxEntity>().SetColumns(it => new LqXhPxmxEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.ConsumeInfoId == id).ExecuteCommandAsync();
  780 + //更新健康师业绩表状态
  781 + await _db.Updateable<LqXhJksyjEntity>().SetColumns(it => new LqXhJksyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.Glkdbh == id).ExecuteCommandAsync();
  782 + //更新科技部老师业绩表状态
  783 + await _db.Updateable<LqXhKjbsyjEntity>().SetColumns(it => new LqXhKjbsyjEntity { IsEffective = StatusEnum.无效.GetHashCode() }).Where(w => w.Glkdbh == id).ExecuteCommandAsync();
  784 + //关闭事务
  785 + _db.CommitTran();
  786 + return LqhyhkInfo;
  787 + }
  788 + catch (Exception)
  789 + {
  790 + //回滚事务
  791 + _db.RollbackTran();
  792 + throw NCCException.Oh(ErrorCode.COM1001);
  793 + }
  794 + }
  795 + #endregion
  796 +
  797 + #region 获取某个会员的耗卡记录
  798 + /// <summary>
  799 + /// 获取某个会员的耗卡记录(分页)
  800 + /// </summary>
  801 + /// <param name="input">查询参数</param>
  802 + /// <returns></returns>
  803 + [HttpGet("GetMemberCardUsageRecord")]
  804 + public async Task<dynamic> GetMemberCardUsageRecord([FromQuery] LqXhHyhkMemberCardUsageQueryInput input)
  805 + {
  806 + try
  807 + {
  808 + // 参数验证
  809 + if (string.IsNullOrEmpty(input.MemberId))
  810 + {
  811 + throw NCCException.Oh("会员ID不能为空");
  812 + }
  813 + // 分页查询会员耗卡记录
  814 + var data = await _db.Queryable<LqXhHyhkEntity>()
  815 + .Where(p => p.Hy == input.MemberId && p.IsEffective == StatusEnum.有效.GetHashCode())
  816 + .WhereIF(!string.IsNullOrEmpty(input.StoreId), p => p.Md == input.StoreId)
  817 + .WhereIF(input.StartTime.HasValue, p => p.Hksj >= input.StartTime.Value)
  818 + .WhereIF(input.EndTime.HasValue, p => p.Hksj <= input.EndTime.Value)
  819 + .Select(it => new LqXhHyhkMemberCardUsageOutput
  820 + {
  821 + Id = it.Id,
  822 + MemberId = it.Hy,
  823 + MemberName = it.Hymc,
  824 + StoreId = it.Md,
  825 + StoreName = it.Mdmc,
  826 + UsageDate = it.Hksj,
  827 + TotalAmount = it.Xfje,
  828 + Remarks = it.SignatureFile,
  829 + CreateTime = it.CreateTime
  830 + })
  831 + .MergeTable()
  832 + .OrderBy((input.sidx == null ? "UsageDate" : input.sidx) + " " + (input.sort ?? "desc"))
  833 + .ToPagedListAsync(input.currentPage, input.pageSize);
  834 +
  835 + // 获取当前页耗卡记录ID,直接查询对应的品项明细
  836 + if (data.list.Any())
  837 + {
  838 + var recordIds = data.list.Select(r => r.Id).ToList();
  839 + // 批量查询当前页记录的所有品项明细
  840 + var itemDetails = await _db.Queryable<LqXhPxmxEntity>().Where(w => recordIds.Contains(w.ConsumeInfoId) && w.IsEffective == StatusEnum.有效.GetHashCode()).ToListAsync();
  841 + // 按耗卡记录ID分组明细
  842 + var detailsGrouped = itemDetails.GroupBy(d => d.ConsumeInfoId).ToDictionary(g => g.Key, g => g.ToList());
  843 + // 为每个记录添加品项明细
  844 + foreach (var record in data.list)
  845 + {
  846 + if (detailsGrouped.ContainsKey(record.Id))
  847 + {
  848 + record.ItemDetails = detailsGrouped[record.Id].Select(detail => new LqXhHyhkMemberCardUsageItemDetail
  849 + {
  850 + Id = detail.Id,
  851 + ItemId = detail.Px,
  852 + ItemName = detail.Pxmc,
  853 + UnitPrice = detail.Pxjg,
  854 + ProjectNumber = detail.ProjectNumber,
  855 + TotalPrice = detail.TotalPrice,
  856 + SourceType = detail.SourceType,
  857 + CreateTime = detail.CreateTIme
  858 + }).ToList();
  859 + }
  860 + }
  861 + }
  862 + return PageResult<LqXhHyhkMemberCardUsageOutput>.SqlSugarPageResult(data);
  863 + }
  864 + catch (Exception ex)
  865 + {
  866 + throw NCCException.Oh($"获取会员耗卡记录失败: {ex.Message}");
  867 + }
  868 + }
  869 + #endregion
  870 +
710 871 }
711 872 }
... ...
netcore/src/Modularity/Extend/NCC.Extend/LqXhmxbService.cs deleted
1   -using System;
2   -using System.Collections.Generic;
3   -using System.Linq;
4   -using System.Threading.Tasks;
5   -using Mapster;
6   -using Microsoft.AspNetCore.Mvc;
7   -using NCC.ClayObject;
8   -using NCC.Common.Configuration;
9   -using NCC.Common.Core.Manager;
10   -using NCC.Common.Enum;
11   -using NCC.Common.Extension;
12   -using NCC.Common.Filter;
13   -using NCC.Common.Helper;
14   -using NCC.Common.Model.NPOI;
15   -using NCC.DataEncryption;
16   -using NCC.Dependency;
17   -using NCC.DynamicApiController;
18   -using NCC.Extend.Entitys.Dto.LqXhmxb;
19   -using NCC.Extend.Entitys.lq_xhmxb;
20   -using NCC.Extend.Interfaces.LqXhmxb;
21   -using NCC.FriendlyException;
22   -using NCC.JsonSerialization;
23   -using SqlSugar;
24   -using Yitter.IdGenerator;
25   -
26   -namespace NCC.Extend.LqXhmxb
27   -{
28   - /// <summary>
29   - /// 消耗明细表服务
30   - /// </summary>
31   - [ApiDescriptionSettings(Tag = "Extend", Name = "LqXhmxb", Order = 200)]
32   - [Route("api/Extend/[controller]")]
33   - public class LqXhmxbService : ILqXhmxbService, IDynamicApiController, ITransient
34   - {
35   - private readonly ISqlSugarRepository<LqXhmxbEntity> _lqXhmxbRepository;
36   - private readonly SqlSugarScope _db;
37   - private readonly IUserManager _userManager;
38   -
39   - /// <summary>
40   - /// 初始化一个<see cref="LqXhmxbService"/>类型的新实例
41   - /// </summary>
42   - public LqXhmxbService(ISqlSugarRepository<LqXhmxbEntity> lqXhmxbRepository, IUserManager userManager)
43   - {
44   - _lqXhmxbRepository = lqXhmxbRepository;
45   - _db = _lqXhmxbRepository.Context;
46   - _userManager = userManager;
47   - }
48   -
49   - /// <summary>
50   - /// 获取消耗明细表
51   - /// </summary>
52   - /// <param name="id">参数</param>
53   - /// <returns></returns>
54   - [HttpGet("{id}")]
55   - public async Task<dynamic> GetInfo(string id)
56   - {
57   - var entity = await _db.Queryable<LqXhmxbEntity>().FirstAsync(p => p.Id == id);
58   - var output = entity.Adapt<LqXhmxbInfoOutput>();
59   - return output;
60   - }
61   -
62   - /// <summary>
63   - /// 获取消耗明细表列表
64   - /// </summary>
65   - /// <param name="input">请求参数</param>
66   - /// <returns></returns>
67   - [HttpGet("")]
68   - public async Task<dynamic> GetList([FromQuery] LqXhmxbListQueryInput input)
69   - {
70   - var sidx = input.sidx == null ? "id" : input.sidx;
71   - var data = await _db.Queryable<LqXhmxbEntity>()
72   - .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id))
73   - .WhereIF(!string.IsNullOrEmpty(input.mdbh), p => p.Mdbh.Contains(input.mdbh))
74   - .WhereIF(!string.IsNullOrEmpty(input.mdmc), p => p.Mdmc.Contains(input.mdmc))
75   - .WhereIF(!string.IsNullOrEmpty(input.bmbh), p => p.Bmbh.Contains(input.bmbh))
76   - .WhereIF(!string.IsNullOrEmpty(input.bmmc), p => p.Bmmc.Contains(input.bmmc))
77   - .WhereIF(!string.IsNullOrEmpty(input.ygbh), p => p.Ygbh.Contains(input.ygbh))
78   - .WhereIF(!string.IsNullOrEmpty(input.ygmc), p => p.Ygmc.Contains(input.ygmc))
79   - .WhereIF(!string.IsNullOrEmpty(input.xms), p => p.Xms.Contains(input.xms))
80   - .WhereIF(!string.IsNullOrEmpty(input.xh), p => p.Xh.Contains(input.xh))
81   - .WhereIF(!string.IsNullOrEmpty(input.sg), p => p.Sg.Contains(input.sg))
82   - .WhereIF(!string.IsNullOrEmpty(input.qtsg1), p => p.Qtsg1.Contains(input.qtsg1))
83   - .WhereIF(!string.IsNullOrEmpty(input.qtsg2), p => p.Qtsg2.Contains(input.qtsg2))
84   - .WhereIF(!string.IsNullOrEmpty(input.qtsg3), p => p.Qtsg3.Contains(input.qtsg3))
85   - .WhereIF(!string.IsNullOrEmpty(input.sghj), p => p.Sghj.Contains(input.sghj))
86   - .Select(it => new LqXhmxbListOutput
87   - {
88   - id = it.Id,
89   - mdbh = it.Mdbh,
90   - mdmc = it.Mdmc,
91   - bmbh = it.Bmbh,
92   - bmmc = it.Bmmc,
93   - ygbh = it.Ygbh,
94   - ygmc = it.Ygmc,
95   - xms = it.Xms,
96   - xh = it.Xh,
97   - sg = it.Sg,
98   - qtsg1 = it.Qtsg1,
99   - qtsg2 = it.Qtsg2,
100   - qtsg3 = it.Qtsg3,
101   - sghj = it.Sghj,
102   - })
103   - .MergeTable()
104   - .OrderBy(sidx + " " + input.sort)
105   - .ToPagedListAsync(input.currentPage, input.pageSize);
106   - return PageResult<LqXhmxbListOutput>.SqlSugarPageResult(data);
107   - }
108   -
109   - /// <summary>
110   - /// 新建消耗明细表
111   - /// </summary>
112   - /// <param name="input">参数</param>
113   - /// <returns></returns>
114   - [HttpPost("")]
115   - public async Task Create([FromBody] LqXhmxbCrInput input)
116   - {
117   - var userInfo = await _userManager.GetUserInfo();
118   - var entity = input.Adapt<LqXhmxbEntity>();
119   - entity.Id = YitIdHelper.NextId().ToString();
120   - var isOk = await _db.Insertable(entity).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync();
121   - if (!(isOk > 0))
122   - throw NCCException.Oh(ErrorCode.COM1000);
123   - }
124   -
125   - /// <summary>
126   - /// 获取消耗明细表无分页列表
127   - /// </summary>
128   - /// <param name="input">请求参数</param>
129   - /// <returns></returns>
130   - [NonAction]
131   - public async Task<dynamic> GetNoPagingList([FromQuery] LqXhmxbListQueryInput input)
132   - {
133   - var sidx = input.sidx == null ? "id" : input.sidx;
134   - var data = await _db.Queryable<LqXhmxbEntity>()
135   - .WhereIF(!string.IsNullOrEmpty(input.id), p => p.Id.Contains(input.id))
136   - .WhereIF(!string.IsNullOrEmpty(input.mdbh), p => p.Mdbh.Contains(input.mdbh))
137   - .WhereIF(!string.IsNullOrEmpty(input.mdmc), p => p.Mdmc.Contains(input.mdmc))
138   - .WhereIF(!string.IsNullOrEmpty(input.bmbh), p => p.Bmbh.Contains(input.bmbh))
139   - .WhereIF(!string.IsNullOrEmpty(input.bmmc), p => p.Bmmc.Contains(input.bmmc))
140   - .WhereIF(!string.IsNullOrEmpty(input.ygbh), p => p.Ygbh.Contains(input.ygbh))
141   - .WhereIF(!string.IsNullOrEmpty(input.ygmc), p => p.Ygmc.Contains(input.ygmc))
142   - .WhereIF(!string.IsNullOrEmpty(input.xms), p => p.Xms.Contains(input.xms))
143   - .WhereIF(!string.IsNullOrEmpty(input.xh), p => p.Xh.Contains(input.xh))
144   - .WhereIF(!string.IsNullOrEmpty(input.sg), p => p.Sg.Contains(input.sg))
145   - .WhereIF(!string.IsNullOrEmpty(input.qtsg1), p => p.Qtsg1.Contains(input.qtsg1))
146   - .WhereIF(!string.IsNullOrEmpty(input.qtsg2), p => p.Qtsg2.Contains(input.qtsg2))
147   - .WhereIF(!string.IsNullOrEmpty(input.qtsg3), p => p.Qtsg3.Contains(input.qtsg3))
148   - .WhereIF(!string.IsNullOrEmpty(input.sghj), p => p.Sghj.Contains(input.sghj))
149   - .Select(it => new LqXhmxbListOutput
150   - {
151   - id = it.Id,
152   - mdbh = it.Mdbh,
153   - mdmc = it.Mdmc,
154   - bmbh = it.Bmbh,
155   - bmmc = it.Bmmc,
156   - ygbh = it.Ygbh,
157   - ygmc = it.Ygmc,
158   - xms = it.Xms,
159   - xh = it.Xh,
160   - sg = it.Sg,
161   - qtsg1 = it.Qtsg1,
162   - qtsg2 = it.Qtsg2,
163   - qtsg3 = it.Qtsg3,
164   - sghj = it.Sghj,
165   - })
166   - .MergeTable()
167   - .OrderBy(sidx + " " + input.sort)
168   - .ToListAsync();
169   - return data;
170   - }
171   -
172   - /// <summary>
173   - /// 导出消耗明细表
174   - /// </summary>
175   - /// <param name="input">请求参数</param>
176   - /// <returns></returns>
177   - [HttpGet("Actions/Export")]
178   - public async Task<dynamic> Export([FromQuery] LqXhmxbListQueryInput input)
179   - {
180   - var userInfo = await _userManager.GetUserInfo();
181   - var exportData = new List<LqXhmxbListOutput>();
182   - if (input.dataType == 0)
183   - {
184   - var data = Clay.Object(await this.GetList(input));
185   - exportData = data.Solidify<PageResult<LqXhmxbListOutput>>().list;
186   - }
187   - else
188   - {
189   - exportData = await this.GetNoPagingList(input);
190   - }
191   - List<ParamsModel> paramList =
192   - "[{\"value\":\"消耗编号\",\"field\":\"id\"},{\"value\":\"门店编号\",\"field\":\"mdbh\"},{\"value\":\"门店名称\",\"field\":\"mdmc\"},{\"value\":\"部门编号\",\"field\":\"bmbh\"},{\"value\":\"部门名称\",\"field\":\"bmmc\"},{\"value\":\"员工编号\",\"field\":\"ygbh\"},{\"value\":\"员工名称\",\"field\":\"ygmc\"},{\"value\":\"项目数\",\"field\":\"xms\"},{\"value\":\"消耗\",\"field\":\"xh\"},{\"value\":\"手工\",\"field\":\"sg\"},{\"value\":\"其它手工1\",\"field\":\"qtsg1\"},{\"value\":\"其它手工2\",\"field\":\"qtsg2\"},{\"value\":\"其它手工3\",\"field\":\"qtsg3\"},{\"value\":\"手工合计\",\"field\":\"sghj\"},]".ToList<ParamsModel>();
193   - ExcelConfig excelconfig = new ExcelConfig();
194   - excelconfig.FileName = "消耗明细表.xls";
195   - excelconfig.HeadFont = "微软雅黑";
196   - excelconfig.HeadPoint = 10;
197   - excelconfig.IsAllSizeColumn = true;
198   - excelconfig.ColumnModel = new List<ExcelColumnModel>();
199   - List<string> selectKeyList = input.selectKey.Split(',').ToList();
200   - foreach (var item in selectKeyList)
201   - {
202   - var isExist = paramList.Find(p => p.field == item);
203   - if (isExist != null)
204   - {
205   - excelconfig.ColumnModel.Add(new ExcelColumnModel() { Column = isExist.field, ExcelColumn = isExist.value });
206   - }
207   - }
208   - var addPath = FileVariable.TemporaryFilePath + excelconfig.FileName;
209   - ExcelExportHelper<LqXhmxbListOutput>.Export(exportData, excelconfig, addPath);
210   - var fileName = _userManager.UserId + "|" + addPath + "|xls";
211   - var output = new { name = excelconfig.FileName, url = "/api/File/Download?encryption=" + DESCEncryption.Encrypt(fileName, "NCC") };
212   - return output;
213   - }
214   -
215   - /// <summary>
216   - /// 批量删除消耗明细表
217   - /// </summary>
218   - /// <param name="ids">主键数组</param>
219   - /// <returns></returns>
220   - [HttpPost("batchRemove")]
221   - public async Task BatchRemove([FromBody] List<string> ids)
222   - {
223   - var entitys = await _db.Queryable<LqXhmxbEntity>().In(it => it.Id, ids).ToListAsync();
224   - if (entitys.Count > 0)
225   - {
226   - try
227   - {
228   - //开启事务
229   - _db.BeginTran();
230   - //批量删除消耗明细表
231   - await _db.Deleteable<LqXhmxbEntity>().In(d => d.Id, ids).ExecuteCommandAsync();
232   - //关闭事务
233   - _db.CommitTran();
234   - }
235   - catch (Exception)
236   - {
237   - //回滚事务
238   - _db.RollbackTran();
239   - throw NCCException.Oh(ErrorCode.COM1002);
240   - }
241   - }
242   - }
243   -
244   - /// <summary>
245   - /// 更新消耗明细表
246   - /// </summary>
247   - /// <param name="id">主键</param>
248   - /// <param name="input">参数</param>
249   - /// <returns></returns>
250   - [HttpPut("{id}")]
251   - public async Task Update(string id, [FromBody] LqXhmxbUpInput input)
252   - {
253   - var entity = input.Adapt<LqXhmxbEntity>();
254   - var isOk = await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
255   - if (!(isOk > 0))
256   - throw NCCException.Oh(ErrorCode.COM1001);
257   - }
258   -
259   - /// <summary>
260   - /// 删除消耗明细表
261   - /// </summary>
262   - /// <returns></returns>
263   - [HttpDelete("{id}")]
264   - public async Task Delete(string id)
265   - {
266   - var entity = await _db.Queryable<LqXhmxbEntity>().FirstAsync(p => p.Id == id);
267   - _ = entity ?? throw NCCException.Oh(ErrorCode.COM1005);
268   - var isOk = await _db.Deleteable<LqXhmxbEntity>().Where(d => d.Id == id).ExecuteCommandAsync();
269   - if (!(isOk > 0))
270   - throw NCCException.Oh(ErrorCode.COM1002);
271   - }
272   - }
273   -}
netcore/src/Modularity/Extend/NCC.Extend/Utils/LqKdKdjlbStringGenerator.cs
... ... @@ -46,8 +46,9 @@ namespace NCC.Extend.Utils
46 46 var customerName = GetCustomerName(entity.kdhy);
47 47 sb.AppendLine($"⏩顾客姓名:{customerName}");
48 48 // 健康师:王维
49   - var healthTeachers = HealthInstructorNames.TrimEnd(',');
50   - sb.AppendLine($"⏩健康师:{healthTeachers}");
  49 + //这里需要把HealthInstructorNames去重,HealthInstructorNames格式为张三、李四、张三、
  50 + var healthTeachers = HealthInstructorNames.Split(',', StringSplitOptions.RemoveEmptyEntries).Distinct().ToArray();
  51 + sb.AppendLine($"⏩健康师:{string.Join("、", healthTeachers)}");
51 52  
52 53 // 活动方案:532工程
53 54 sb.AppendLine($"⏩活动方案:{entity.pxxx ?? "无"}");
... ...