Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jump_hm_warehouse
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
毛勇泽
jump_hm_warehouse
Commits
300a1b51
Commit
300a1b51
authored
Jan 22, 2024
by
陈桂东
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据保存
parent
cb372085
显示空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
209 行增加
和
72 行删除
+209
-72
WzcrkDao.ets
common/src/main/ets/db/dao/WzcrkDao.ets
+11
-8
WzcrkmxDao.ets
common/src/main/ets/db/dao/WzcrkmxDao.ets
+9
-2
NativeSql.ets
common/src/main/ets/db/sql/NativeSql.ets
+2
-2
Wzcrk.ts
common/src/main/ets/entity/Wzcrk.ts
+0
-5
Wzcrkmx.ts
common/src/main/ets/entity/Wzcrkmx.ts
+2
-1
WzcrkModel.ets
entry/src/main/ets/model/WzcrkModel.ets
+11
-3
WzcrkmxModel.ets
entry/src/main/ets/model/WzcrkmxModel.ets
+3
-2
WzInList.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzInList.ets
+0
-2
WzInPage.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzInPage.ets
+32
-23
AddWzin.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/AddWzin.ets
+81
-0
PzInfo.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/PzInfo.ets
+1
-2
WzInfo.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzInfo.ets
+21
-3
WzinDetail.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzinDetail.ets
+23
-18
WzStatus.ets
entry/src/main/ets/pages/metailmange/WzStatus.ets
+13
-1
没有找到文件。
common/src/main/ets/db/dao/WzcrkDao.ets
View file @
300a1b51
...
...
@@ -148,16 +148,19 @@ export class WzcrkDao extends BaseTable<Wzcrk> {
}
async getWzcrk(
crklx: string, pzh?: string, wczt?: string
): Promise<Wzcrk[]> {
async getWzcrk(
data:Partial<Wzcrk>
): Promise<Wzcrk[]> {
let wp = this.getPredicates();
if (pzh) {
wp.equalTo('PZH', pzh)
}
if (wczt) {
wp.equalTo('WCZT', wczt)
// if (pzh) {
// wp.equalTo('PZH', pzh)
// }
// if (wczt) {
// wp.equalTo('WCZT', wczt)
// }
// wp.equalTo('CRKLX', crklx)
// wp.orderByAsc('PZH');
for (const [key, value] of Object.entries(data)) {
wp.equalTo(key, value)
}
wp.equalTo('CRKLX', crklx)
wp.orderByAsc('PZH');
return this.query(wp, this.getTableColumns());
}
...
...
common/src/main/ets/db/dao/WzcrkmxDao.ets
View file @
300a1b51
...
...
@@ -165,10 +165,13 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
}
async queryByCrkGuid(wzcrkguid: string, wzpm?: string): Promise<WzcrkMxRefWzDto[]> {
try{
let val_sql = NativeSql.getSqlByCrkmx(wzcrkguid, wzpm);
let db = await super.futureDb;
Logger.info(this, '查询SQL语句=' + val_sql)
let db = await this.futureDb;
Logger.info(this, '查询SQL语句开始1')
let rs = await db.querySql(val_sql);
Logger.info(this, '查询SQL语句开始2')
let items = []
if (rs.goToFirstRow()) {
do {
...
...
@@ -177,6 +180,10 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
}catch (e){
throw new Error('[查询异常]|' + e)
}
}
...
...
common/src/main/ets/db/sql/NativeSql.ets
View file @
300a1b51
...
...
@@ -6,8 +6,8 @@ export class NativeSql {
*/
static getSqlByCrkmx(wzcrkguid: string, wzpm?: string): string {
let sql_val = `SELECT
s2.
GUID, s2.XH, s2.HXMC, s2.PMDMSIX,s2.PMDMTEN, s2.WZPM, s1.PZMXGUID
,
s1.
WZCRKGUID,s1.PZSL,s1.HWH,s1.CRKSL
FROM TAB_BZGL_KNZY_APP_WZCRKMX s1
s2.
guid, s2.xh, s2.hxmc, s2.pmdmsix,s2.pmdmten, s2.wzpm, s1.pzmxguid
,
s1.
wzcrkguid,s1.pzsl,s1.hwh,s1.crksl
FROM TAB_BZGL_KNZY_APP_WZCRKMX s1
LEFT JOIN TAB_XTWH_JCSJ_BZHX s2 on s1.PMDMCODE = s2.PMDMTEN where s1.WZCRKGUID='${wzcrkguid}'`;
if (wzpm) {
sql_val += ` and s2.WZPM like '%${wzpm}%`;
...
...
common/src/main/ets/entity/Wzcrk.ts
View file @
300a1b51
...
...
@@ -100,8 +100,4 @@ export interface Wzcrk {
* 备注
*/
dec
:
string
,
/**
* 物资出入库明细
*/
jhmx
?:
Wzcrkmx
[]
}
\ No newline at end of file
common/src/main/ets/entity/Wzcrkmx.ts
View file @
300a1b51
...
...
@@ -31,5 +31,5 @@ export interface Wzcrkmx {
/**
* 临时码
*/
wzdm
:
string
//
wzdm: string
}
\ No newline at end of file
entry/src/main/ets/model/WzcrkModel.ets
View file @
300a1b51
...
...
@@ -16,12 +16,13 @@ class WzcrkModel {
// 获取子单数量总和赋给主单
// @ts-ignore
const pzsl = data[index].jhmx.map(v =>Number(v.pmsl)).reduce((a,b) => a+b, 0)
// @ts-ignore
const crksl = data[index].jhmx.map(v =>Number(v.crksl)).reduce((a,b) => a+b, 0)
wzcrk.guid = uid
wzcrk.pzsl = pzsl
wzcrk.crksl = crksl
// @ts-ignore
const wzcrkmx = data[index].jhmx.map((v =>{
return {
...v,
...
...
@@ -42,10 +43,17 @@ class WzcrkModel {
}
// 查询
async query(
crklx:string, pzh?: string, wczt?: string
): Promise<Wzcrk[]> {
let res = await SQLiteContext.with(WzcrkDao).getWzcrk(
crklx, pzh, wczt
)
async query(
data:Partial<Wzcrk>
): Promise<Wzcrk[]> {
let res = await SQLiteContext.with(WzcrkDao).getWzcrk(
data
)
return res;
}
// async query(crklx:string, pzh?: string, wczt?: string): Promise<Wzcrk[]> {
// let res = await SQLiteContext.with(WzcrkDao).getWzcrk(crklx, pzh, wczt)
// return res;
// }
/*获取物资出入库*/
async queryWzcrklist(sql?: string):Promise<Wzcrk[]> {
let res = await SQLiteContext.with(WzcrkDao).selectWzcrkList(sql);
...
...
entry/src/main/ets/model/WzcrkmxModel.ets
View file @
300a1b51
import { WzcrkmxDao, WzcrkDao, Wzcrk, Wzcrkmx, SQLiteContext } from '@ohos/common'
import { WzcrkMxRefWzDto } from '@ohos/common/src/main/ets/bean/dto/WzcrkMxRefWzDto'
// 物资出库入库
class WzcrkmxModel {
...
...
@@ -12,8 +13,8 @@ class WzcrkmxModel {
console.log("插入成功===》"+JSON.stringify(res))
}
// 查询
async query(wzcrkguid?: string,pmdmcode?: string): Promise<Wzcrk
mx
[]> {
let res = await SQLiteContext.with(WzcrkmxDao).
getWzcrkmx
(wzcrkguid,pmdmcode)
async query(wzcrkguid?: string,pmdmcode?: string): Promise<Wzcrk
MxRefWzDto
[]> {
let res = await SQLiteContext.with(WzcrkmxDao).
queryByCrkGuid
(wzcrkguid,pmdmcode)
return res;
}
async updateCrkMX(guid: string, hwh: string,crksl?:string):Promise<number> {
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzInList.ets
View file @
300a1b51
...
...
@@ -30,7 +30,6 @@ export struct WzInList {
}.alignSelf(ItemAlign.Start).padding({ top: 8, bottom: 8 })
Row() {
if(this.item.crksl < this.item.pzsl) {
Text("数量: ")
Text(this.item.crksl + '').fontColor('#ff3d43')
...
...
@@ -43,7 +42,6 @@ export struct WzInList {
Text('/').fontColor('#28bf1d')
Text(this.item.pzsl + '').fontColor('#28bf1d')
}
}.alignSelf(ItemAlign.Start)
}.width("30%").padding({ top: 8, bottom: 8 })
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzInPage.ets
View file @
300a1b51
...
...
@@ -39,18 +39,18 @@ export struct WzInPage {
}
private controller: TabsController = new TabsController()
private searchcontroller: SearchController = new SearchController()
@State defaultSelectValue:
Array<SelectOption>=
[{ value: "未完成" }, { value: "已完成" }]
@State selectValue:
Array<SelectOption>=
[{ value: "未完成" }, { value: "已完成" }, { value: "完成已绑定" }]
@State page:
number=
1
@State rows:
number=
10
@State sjlx:
string=
"0"
@State wczt:
string=
""
@State pzh:
string=
""
@State defaultSelectValue:
Array<SelectOption> =
[{ value: "未完成" }, { value: "已完成" }]
@State selectValue:
Array<SelectOption> =
[{ value: "未完成" }, { value: "已完成" }, { value: "完成已绑定" }]
@State page:
number =
1
@State rows:
number =
10
@State sjlx:
string =
"0"
@State wczt:
string =
""
@State pzh:
string =
""
params = {
pzh:this.pzh,
pzh:
this.pzh,
page: this.page,
rows: this.rows,
sjlx: this.currentIndex
===0?"导入":
"临时收物",
sjlx: this.currentIndex
=== 0 ? "导入" :
"临时收物",
wczt: "未完成"
}
...
...
@@ -65,7 +65,8 @@ export struct WzInPage {
async getWzcrkList(qzh?: number, wczt?: string) {
Logger.info('出入库传入参数>>:', JSON.stringify(this.searchData))
this.dataSource = []
const res = await wzcrkModel.query('2', this.searchData.pzh, this.searchData.wczt)
// const res = await wzcrkModel.query({ crklx: "2", pzh: Number(this.pzh), wczt: this.wczt, sjlx: this.sjlx })
const res = await wzcrkModel.query({ crklx: "2" })
Logger.info('出入库数据>>:', JSON.stringify(res))
Logger.info('出入库数据长度>>:', JSON.stringify(res.length))
res.forEach(element => {
...
...
@@ -86,6 +87,7 @@ export struct WzInPage {
}).margin({ right: 20 })
}
}.padding({ top: 10, bottom: 10 })
Divider().strokeWidth(1).color('rgb(242,242,242)')
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
...
...
@@ -95,6 +97,7 @@ export struct WzInPage {
}).margin({ right: 20 })
}
}.padding({ top: 10, bottom: 10 })
Divider().strokeWidth(1).color('rgb(242,242,242)')
}
}
...
...
@@ -122,17 +125,19 @@ export struct WzInPage {
console.info('------取消------')
}
onSubmit() {
try
{
this.checkedList.forEach(async (element) =>
{
try
{
this.checkedList.forEach(async (element)=>
{
let num = await wzcrkModel.updateWzcrkWczt(element, this.radioChecked ? '已完成' : '未完成')
if (num) {// 如果更新成功就减少
if(num){
Logger.info("删除的数据是:" + JSON.stringify(this.dataSource))
this.dataSource.splice(this.dataSource.findIndex(i => i.guid == element), 1)
}
})
} catch (e)
{
}catch(e)
{
} finally
{
}finally
{
this.checkedList = []
}
}
...
...
@@ -187,7 +192,9 @@ export struct WzInPage {
.fontSize(16)
.lineHeight(22)
.margin({ bottom: 7 })
Divider().strokeWidth(1).color('rgb(242,242,242)')
Divider()
.strokeWidth(1)
.color('rgb(242,242,242)')
.strokeWidth(2)
.color('#fff')
.width(50)
...
...
@@ -251,8 +258,10 @@ export struct WzInPage {
}
}
}).fontColor("#0fa983").fontSize("14vp")
.fontColor("#0fa983")
.fontSize("14vp")
Button("全选")
.bottomBtnSty().fontColor("#0fa983")
.fontSize("14vp")
.bottomBtnSty().fontColor("#0fa983").fontSize("14vp")
.onClick(() => {
this.checkedList = this.dataSource.map((item) => item.guid)
})
...
...
@@ -303,14 +312,14 @@ export struct WzInPage {
.textFont({ size: 14, weight: 400 })
.width('60%')
.onSubmit((value: string) => {
this.pzh
=
value
this.pzh
=
value
})
.onChange((value: string) => {
this.searchData.pzh = value
this.getWzcrkList()
})
.borderRadius(5)
Select(this.currentIndex
===1?this.selectValue:
this.defaultSelectValue)
Select(this.currentIndex
=== 1 ? this.selectValue :
this.defaultSelectValue)
.value('未完成')
.selected(0)
.borderWidth(1)
...
...
@@ -341,14 +350,14 @@ export struct WzInPage {
if (this.dataSource.length == 0) {
this.renderEmpty()
} else {
List({ space: 2}) {
List({ space: 2
}) {
ForEach(this.dataSource, (item) => {
ListItem() {
WzInList({ item, checkedList: $checkedList }).width('100%').backgroundColor('#fff')
}.onClick(() => {
router.pushUrl({
url:'pages/metailmange/WzInPage/WzinDetail/WzinDetail',params:
{
wzcrk:item
}},)
router.pushUrl({
url: 'pages/metailmange/WzInPage/WzinDetail/WzinDetail', params:
{
wzcrk:
item
}
},)
})
})
}.padding(18)
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/AddWzin.ets
0 → 100644
View file @
300a1b51
import gldwModel from '../../../../model/GldwModel'
import kfModel from '../../../../model/KfModel'
import { renderPzlx, renderSzlx, renderZmlx, WzinClass } from '../Wzin.data'
@Entry
@Component
// 物资信息
export struct PzInfo {
@State kfmc: string = ''
@State fwgldw: string = ''
@State swgldw: string = ''
@ObjectLink wzcrk: WzinClass
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false,type:'select' },
{ title: "凭证号", key: 'pzh', enabled: false,type:'input' },
{ title: "库房", key: 'kfguid', enabled: false,type:'input' },
{ title: "收支类型", key: 'pzszlx', enabled: false,type:'input' },
{ title: "运单号", key: 'ydh', enabled: true,type:'input' },
{ title: "发物管理单位", key: 'fwgldwdm', enabled: false,type:'input' },
{ title: "收物管理单位", key: 'swgldwdm', enabled: false,type:'input' },
{ title: "备注", key: 'dec', enabled: true,type:'input' }
]
aboutToAppear(){
this.getData()
}
async getData() {
const res = await kfModel.query({guid: this.wzcrk.kfguid})
this.kfmc = res[0].kfmc ?? ''
const res1 = await gldwModel.queryByData({dwdm:this.wzcrk.fwgldwdm})
this.fwgldw = res1[0].dwfh ?? ''
const res2 = await gldwModel.queryByData({dwdm:this.wzcrk.swgldwdm})
this.swgldw = res2[0].dwfh ?? ''
}
build(){
Column(){
Flex({ direction: FlexDirection.Row, justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
Divider()
.vertical(true)
.height(14)
.strokeWidth(3)
.color('#19ac88')
.opacity(0.6)
.margin({ left: 8, right: 8 })
Text("凭证信息")
.fontSize(16)
}.height('8%')
ForEach(this.arr,(item) => {
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
Text(item.title)
.fontSize(14)
.width("30%")
.height(40)
.fontColor($r("app.color.item_color_black"))
TextInput({ text:"1111" })
.enterKeyType(EnterKeyType.Search)
.borderColor("#454545")
.borderRadius(5)
.width("70%")
.height(40)
.padding(10)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor(item.enabled ? '#fff' : "app.color.disabledColor")
.enabled(item.enabled)
.onChange((value: string) => {
if(item.enabled) {
this.wzcrk[item.key] = value
}
})
}.padding("10vp")
})
}.backgroundColor('#fff')
}
}
\ No newline at end of file
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/PzInfo.ets
View file @
300a1b51
import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk'
import gldwModel from '../../../../model/GldwModel'
import kfModel from '../../../../model/KfModel'
import { renderPzlx, renderSzlx, renderZmlx, WzinClass } from '../Wzin.data'
...
...
@@ -8,6 +7,7 @@ export struct PzInfo {
@State kfmc: string = ''
@State fwgldw: string = ''
@State swgldw: string = ''
@ObjectLink wzcrk: WzinClass
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false },
{ title: "凭证号", key: 'pzh', enabled: false },
...
...
@@ -34,7 +34,6 @@ export struct PzInfo {
this.swgldw = res2[0].dwfh ?? ''
}
@ObjectLink wzcrk: WzinClass
handleText(key: string): string {
switch (key) {
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzInfo.ets
View file @
300a1b51
import router from '@ohos.router';
import { Logger } from '@ohos/common';
import { Wzcrkmx } from '@ohos/common/src/main/ets/entity/Wzcrkmx';
import { WzmxClass } from '../Wzin.data';
import gldwModel from '../../../../model/GldwModel';
import kfModel from '../../../../model/KfModel';
import { WzinClass, WzmxClass } from '../Wzin.data';
import { WzList } from './WzList';
@Extend(Button) function CommonButtonStyle() {
...
...
@@ -18,8 +20,24 @@ import { WzList } from './WzList';
// 物资信息
export struct WzInfo {
private searchcontroller: SearchController = new SearchController()
@State kfmc: string = ''
@State sfdw: string = ''
@State private wzmx: WzmxClass[] = []
// @ObjectLink wzcrk: WzinClass
@ObjectLink wzcrk: WzinClass
aboutToAppear(){
this.getData()
}
async getData() {
const res = await kfModel.query({guid: this.wzcrk.kfguid})
this.kfmc = res[0].kfmc ?? ''
const res1 = await gldwModel.queryByData({dwdm:this.wzcrk.sfdw})
this.sfdw = res1[0].dwfh ?? ''
}
build() {
Column() {
Flex({ direction: FlexDirection.Column }) {
...
...
@@ -40,7 +58,7 @@ export struct WzInfo {
}
.width("35%")
Text(
"浙江钧普科技股份有有限公司1号库房"
)
Text(
this.sfdw + this.kfmc
)
.fontWeight(FontWeight.Medium)
.fontSize(21)
.fontColor($r("app.color.title_background"))
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzinDetail.ets
View file @
300a1b51
...
...
@@ -45,24 +45,28 @@ struct WzinDetail {
// 获取凭证信息
async getDetail() {
const res = await wzcrkmxModel.query(this.wzcrk.guid)
res.forEach(i => {
this.wzmx.push(new WzmxClass(i))
})
Logger.info('接收到出入库物资明细信息>>', JSON.stringify(res))
for (let index = 0; index < res.length; index++) {
const element = res[index];
const res1 = await bzhxModel.queryByCode(element.pmdmcode)
Logger.info('查询到对应品名代码》》', JSON.stringify(res1))
// @ts-ignore
element.xh = res1.xh
// @ts-ignore
element.hxmc = res1.hxmc
// @ts-ignore
element.pmdmSix = res1.pmdmSix
// @ts-ignore
element.wzpm = res1.wzpm
// @ts-ignore
element.wczt = this.wzcrk.wczt
// @ts-ignore
this.wzmx.push(new WzmxClass(element))
}
//
for (let index = 0; index < res.length; index++) {
//
const element = res[index];
//
const res1 = await bzhxModel.queryByCode(element.pmdmcode)
//
Logger.info('查询到对应品名代码》》', JSON.stringify(res1))
//
// @ts-ignore
//
element.xh = res1.xh
//
// @ts-ignore
//
element.hxmc = res1.hxmc
//
// @ts-ignore
//
element.pmdmSix = res1.pmdmSix
//
// @ts-ignore
//
element.wzpm = res1.wzpm
//
// @ts-ignore
//
element.wczt = this.wzcrk.wczt
//
// @ts-ignore
//
this.wzmx.push(new WzmxClass(element))
//
}
}
@Builder TabBuilder(index: number, name: string) {
...
...
@@ -92,7 +96,7 @@ struct WzinDetail {
TabContent() {
Column() {
WzInfo({ wzmx: this.wzmx })
WzInfo({ wzmx: this.wzmx
, wzcrk: this.wzcrk
})
}.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息'))
}
...
...
@@ -121,6 +125,7 @@ struct WzinDetail {
}
const crksl = this.wzmx.map(v => Number(v.crksl)).reduce((a, b) => a + b, 0)
await wzcrkModel.updateWcztByData(this.wzcrk.guid, { dec: this.wzcrk.dec, ydh: this.wzcrk.ydh,crksl })
promptAction.showToast({
...
...
entry/src/main/ets/pages/metailmange/WzStatus.ets
View file @
300a1b51
...
...
@@ -27,6 +27,7 @@ export struct WzStatus {
@State show: boolean = false
@State currentItem: WzmxClass = null
@State private dataSource: WzmxClass[] = []
// @State private dataSourceGroup: WzmxClass[] = [] // 物资代码相同的合并
aboutToAppear() {
const params = router.getParams() as params
...
...
@@ -36,6 +37,18 @@ export struct WzStatus {
const crksl = this.dataSource.map(v => Number(v.crksl)).reduce((a, b) => a + b, 0)
this.numberPercentage = crksl + '/' + pzsl
// for (let i = 0; i < this.dataSource.length; i++) {
// const element = this.dataSource[i];
// const index = this.dataSourceGroup.findIndex(v => v.pmdmSix === element.pmdmSix)
// if(index == -1) {
// this.dataSourceGroup.push(element)
// } else{
// this.dataSourceGroup[index].crksl += this.dataSourceGroup[index].crksl
// this.dataSourceGroup[index].pzsl += this.dataSourceGroup[index].pzsl
// }
// }
// this.dataSourceGroup = dataSource
}
...
...
@@ -110,7 +123,6 @@ export struct WzStatus {
} else {
Text('完成').fontSize(14).fontColor( 'green')
}
}
.width('40%')
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论