Commit 0919e842 by 毛勇泽

Merge remote-tracking branch 'origin/master'

parents 75d4e02c f7a8f5b4
......@@ -8,4 +8,45 @@ export interface RecommendHwDto {
pmguid: string,
hwguid: string,
hwh: string,
}
/**
* 验证当前货位在本方库
*/
export interface TestHwWzDto {
guid: string,
hwh: string,
pmdmcode: string,
hwsl: string,
hjguid: string,
hwzt: string,
hwxgsj: string,
gldwguid: string,
kfguid: string,
zmlx: string,
kfdm: string
}
export interface PzMxItemDto {
guid: string,
gznd: string,
pmdmcode: string,
pzsl: string,
crksl: string,
wzcrkguid: string,
hwh: string,
pzmxguid: string
}
export interface CommonHxPzMxDto {
wzpm: string,
pmdmsix: string,
pmdmcode: string,
hxmc: string,
pzsl: string,
crksl: string,
hwh: string,
mxguid: string,
pzmxguid: string
}
\ No newline at end of file
......@@ -32,4 +32,21 @@ export interface WzcrkDetailDto {
fwgldwdm: string,
swgldwdm: string,
zmlx: string,
}
\ No newline at end of file
hwh?: string
}
/**
* 货架号
*/
export interface HjListDto {
guid: string,
hjh: string,
hjmc: string,
hjcs: number,
mchws: number,
hjrl: number,
hjbz: string,
qyguid: string,
qymc: string,
kfmc: string,
}
......@@ -46,10 +46,11 @@ export class GldwDao extends BaseTable<Gldw> {
*/
getGldwList(offset: number, dwmc?: string): Promise<Gldw[]> {
let wp = this.getPredicates();
wp.orderByAsc('DWDM').offsetAs(offset).limitAs(20);
if (dwmc) {
wp.like('DWFH', `%${dwmc}%`)
// wp.equalTo('DWFH', dwmc)
}
wp.orderByAsc('DWDM').offsetAs(offset).limitAs(20);
return this.query(wp, this.getTableColumns());
}
......
import relationalStore from '@ohos.data.relationalStore';
import { HjListDto, WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto';
import { HjInfo } from '../../entity/HjInfo';
import BaseTable, { ValueType } from '../BaseTable';
import { Table } from '../decorator/Decorators';
......@@ -40,12 +41,39 @@ export class HjInfoDao extends BaseTable<HjInfo> {
return NativeSql.getHjInfoTable();
}
async getHjList(no: string): Promise<HjInfo[]> {
let wp = this.getPredicates();
if (no) {
wp.equalTo('HJH', no);
async getHjList(hjh: string): Promise<HjListDto[]> {
try {
let val_sql = NativeSql.getHjListSql(hjh);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toWzcrkRefWz(rs))
} while (rs.goToNextRow())
}
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
wp.orderByAsc('HJH');
return this.query(wp, this.getTableColumns())
}
}
\ No newline at end of file
/**
* 物资出入库明细转换
*/
toWzcrkRefWz(cursor: relationalStore.ResultSet): HjListDto {
let info: HjListDto = {
guid: cursor.getString(cursor.getColumnIndex('guid')),
hjh: cursor.getString(cursor.getColumnIndex('hjh')),
hjmc: cursor.getString(cursor.getColumnIndex('hjmc')),
mchws: cursor.getLong(cursor.getColumnIndex('mchws')),
hjrl: cursor.getLong(cursor.getColumnIndex('hjrl')),
hjcs: cursor.getLong(cursor.getColumnIndex('hjcs')),
hjbz: cursor.getString(cursor.getColumnIndex('hjbz')),
qyguid: cursor.getString(cursor.getColumnIndex('qyguid')),
qymc: cursor.getString(cursor.getColumnIndex('qymc')),
kfmc: cursor.getString(cursor.getColumnIndex('kfmc')),
};
return info;
}
}
......@@ -45,11 +45,17 @@ export class KfInfoDao extends BaseTable<KfInfo> {
let wp = this.getPredicates();
for (const [key, value] of Object.entries(data)) {
if(value) {
if (value) {
wp.equalTo(key, value)
}
}
wp.orderByAsc("KFDM");
return this.query(wp, this.getTableColumns());
}
async updateDefault(guid) {
let db = await this.futureDb;
await db.executeSql(`update ${this.getTableName()} set isDefault = '0'`);
await db.executeSql(`update ${this.getTableName()} set isDefault = '1' where guid = '${guid}'`);
}
}
\ No newline at end of file
......@@ -99,6 +99,7 @@ export class WzcrkDao extends BaseTable<Wzcrk> {
Logger.info(this, 'wzcrkguidwzcrkguid' + JSON.stringify(wzcrkguid))
try {
let val_sql = NativeSql.getSqlByCrkDetail(wzcrkguid);
Logger.info(this, val_sql)
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
......
......@@ -5,7 +5,7 @@ import { Table } from '../decorator/Decorators';
import { Logger } from '../../utils/Logger';
import { NativeSql } from '../sql/NativeSql';
import { WzcrkDetailDto, WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto';
import { RecommendHwDto } from '../../bean/dto/RecommendHwDto.ts';
import { CommonHxPzMxDto, PzMxItemDto, RecommendHwDto, TestHwWzDto } from '../../bean/dto/RecommendHwDto.ts';
/**
......@@ -234,12 +234,147 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
*/
toRecommendHwDto(cursor: relationalStore.ResultSet): RecommendHwDto {
let info: RecommendHwDto = {
guid: cursor.getString(cursor.getColumnIndex('GUID')),
hjguid: cursor.getString(cursor.getColumnIndex('HJGUID')),
pmguid: cursor.getString(cursor.getColumnIndex('PMGUID')),
hwguid: cursor.getString(cursor.getColumnIndex('HWGUID')),
hwh: cursor.getString(cursor.getColumnIndex('HWH'))
};
return info;
}
async testHwWz(kfdm, hjguid, hwh): Promise<TestHwWzDto[]> {
try {
let val_sql = NativeSql.testHwWzSql(kfdm, hjguid, hwh);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toTestHwWzDto(rs))
} while (rs.goToNextRow())
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
}
/**
* 验证当前货位在本方库转换
*/
toTestHwWzDto(cursor: relationalStore.ResultSet): TestHwWzDto {
let info: TestHwWzDto = {
guid: cursor.getString(cursor.getColumnIndex('guid')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')),
pmdmcode: cursor.getString(cursor.getColumnIndex('pmdmcode')),
hwsl: cursor.getString(cursor.getColumnIndex('hwsl')),
hjguid: cursor.getString(cursor.getColumnIndex('hjguid')),
pmguid: cursor.getString(cursor.getColumnIndex('pmguid')),
hwguid: cursor.getString(cursor.getColumnIndex('hwguid')),
hwh: cursor.getString(cursor.getColumnIndex('hwh'))
hwzt: cursor.getString(cursor.getColumnIndex('hwzt')),
hwxgsj: cursor.getString(cursor.getColumnIndex('hwxgsj')),
gldwguid: cursor.getString(cursor.getColumnIndex('gldwguid')),
kfguid: cursor.getString(cursor.getColumnIndex('kfguid')),
zmlx: cursor.getString(cursor.getColumnIndex('zmlx')),
kfdm: cursor.getString(cursor.getColumnIndex('kfdm'))
};
return info;
}
async getPzMxItem(params, isPmSix): Promise<PzMxItemDto[]> {
try {
let val_sql = NativeSql.getPzMxItemSql(params, isPmSix);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toPzMxItemDto(rs))
} while (rs.goToNextRow())
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
}
/**
* 验证当前货位在本方库转换
*/
toPzMxItemDto(cursor: relationalStore.ResultSet): PzMxItemDto {
let info: PzMxItemDto = {
guid: cursor.getString(cursor.getColumnIndex('guid')),
gznd: cursor.getString(cursor.getColumnIndex('gznd')),
pmdmcode: cursor.getString(cursor.getColumnIndex('pmdmcode')),
pzsl: cursor.getString(cursor.getColumnIndex('pzsl')),
crksl: cursor.getString(cursor.getColumnIndex('crksl')),
wzcrkguid: cursor.getString(cursor.getColumnIndex('wzcrkguid')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')),
pzmxguid: cursor.getString(cursor.getColumnIndex('pzmxguid'))
};
return info;
}
async getCommonHxPzMx(params): Promise<CommonHxPzMxDto[]> {
try {
let val_sql = NativeSql.getCommonHxPzMxSql(params);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toCommonHxPzMx(rs))
} while (rs.goToNextRow())
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
}
toCommonHxPzMx(cursor: relationalStore.ResultSet): CommonHxPzMxDto {
let info: CommonHxPzMxDto = {
wzpm: cursor.getString(cursor.getColumnIndex('wzpm')),
pmdmsix: cursor.getString(cursor.getColumnIndex('pmdmsix')),
pmdmcode: cursor.getString(cursor.getColumnIndex('pmdmcode')),
hxmc: cursor.getString(cursor.getColumnIndex('hxmc')),
pzsl: cursor.getString(cursor.getColumnIndex('pzsl')),
crksl: cursor.getString(cursor.getColumnIndex('crksl')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')),
mxguid: cursor.getString(cursor.getColumnIndex('mxguid')),
pzmxguid: cursor.getString(cursor.getColumnIndex('pzmxguid'))
};
return info;
}
async insertWz(params) {
try {
let val_sql = NativeSql.insertWzSql(params)
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
return rs;
} catch (e) {
throw new Error('[插入异常]|' + e)
}
}
async updateWzmx(params): Promise<number> {
try {
let valueBucket = {
hwh: params.hwh,
crksl: params.crksl
}
let wp = this.getPredicates()
wp.equalTo('guid', params.mxguid)
return this.updateData(valueBucket, wp)
} catch (e) {
throw new Error('[更新异常]|' + e)
}
}
}
\ No newline at end of file
import { uuid } from '../../utils/util';
export class NativeSql {
/**
* 构建出入库明细查询语句
......@@ -21,15 +22,26 @@ export class NativeSql {
*
*/
static getSqlByCrkDetail(wzcrkguid: string): string {
let sql_val = `
select crk.pzlx pzlx,crk.guid, crk.pzh pzh, rk.kfdm rkkfdm, ck.kfdm kfdm, crk.pzszlx pzszlx, crk.sfdw sfdw, crk.ydh ydh,crk.dec dec, crk.fwgldwdm fwgldwdm, crk.swgldwdm swgldwdm, crk.zmlx zmlx
from tab_bzgl_knzy_app_wzcrk crk
left join
TAB_BZGL_KNZY_APP_DWKF ck
on ck.KFDM = crk.kfdm
left join TAB_BZGL_KNZY_APP_DWKF rk
on rk.KFDM = crk.rkkfdm
where crk.guid = '${wzcrkguid}'`;
// let sql_val = `SELECT crk.pzlx pzlx, crk.guid, crk.pzh pzh, rk.kfdm rkkfdm, ck.kfdm kfdm, crk.pzszlx pzszlx, crk.sfdw sfdw, crk.ydh ydh, crk.dec dec, crk.fwgldwdm fwgldwdm, crk.swgldwdm swgldwdm, crk.zmlx zmlx FROM tab_bzgl_knzy_app_wzcrk crk LEFT JOIN TAB_BZGL_KNZY_APP_DWKF ck ON ck.KFDM = crk.kfdm LEFT JOIN TAB_BZGL_KNZY_APP_DWKF rk ON rk.KFDM = crk.rkkfdm WHERE crk.guid = '${ wzcrkguid }'`
let sql_val = `SELECT
crk.pzlx pzlx,
crk.guid,
crk.pzh pzh,
rk.kfdm rkkfdm,
ck.kfdm kfdm,
crk.pzszlx pzszlx,
crk.sfdw sfdw,
crk.ydh ydh,
crk.dec dec,
crk.fwgldwdm fwgldwdm,
crk.swgldwdm swgldwdm,
crk.zmlx zmlx
FROM
tab_bzgl_knzy_app_wzcrk crk
LEFT JOIN TAB_BZGL_KNZY_APP_DWKF ck ON ck.KFDM = crk.kfdm
LEFT JOIN TAB_BZGL_KNZY_APP_DWKF rk ON rk.KFDM = crk.rkkfdm
WHERE
crk.guid = '${wzcrkguid}'`;
return sql_val;
}
......@@ -40,18 +52,60 @@ export class NativeSql {
* @param kfdm 库房代码
*/
static getRecommendHwSql(pmguid, kfdm): string {
let sql_val = `SELECT tjhw.*, hw.hwh
let sql_val = `SELECT tjhw.*,hw.hwh from HW_PROJECT_TABLE tjhw left join tab_bzgl_knzy_app_hwb hw on tjhw.hwguid = hw.guid left join TAB_BZGL_KNZY_APP_HJB hj ON tjhw.hjguid=hj.guid left join TAB_BZGL_KNZY_APP_QYB qy on hj.qyguid=qy.guid where tjhw.pmguid='${pmguid}' and qy.kfguid in (select guid from TAB_BZGL_KNZY_APP_DWKF where kfdm = '${kfdm}' )`
return sql_val
}
/**
* 验证当前货位在本方库
*/
static testHwWzSql(kfdm, hjguid, hwh): string {
let sql_val = `SELECT
*
FROM
(
SELECT
hw.*,
qy.kfdm kfdm
FROM
HW_PROJECT_TABLE tjhw
LEFT JOIN tab_bzgl_knzy_app_hwb hw ON tjhw.hwguid = hw.guid
LEFT JOIN TAB_BZGL_KNZY_APP_HJB hj ON tjhw.hjguid = hj.guid
LEFT JOIN TAB_BZGL_KNZY_APP_QYB qy ON hj.qyguid = qy.guid
WHERE
tjhw.pmguid =${pmguid}
AND qy.kfguid IN ( SELECT guid FROM TAB_BZGL_KNZY_APP_DWKF WHERE kfdm = ${kfdm} )`
tab_bzgl_knzy_app_hwb hw
LEFT JOIN tab_bzgl_knzy_app_hjb hj ON hj.guid = hw.hjguid
LEFT JOIN tab_bzgl_knzy_app_qyb qy ON qy.guid = hj.qyguid
)
WHERE
kfdm = '${kfdm}'
AND hjguid = '${hjguid}'
AND hwh = '${hwh}'`
return sql_val
}
// 查询物资明细是否含有对应物资数据
static getPzMxItemSql(params, isPmSix): string {
if (isPmSix) {
return `select * from TAB_BZGL_KNZY_APP_WZCRKMX where wzcrkguid='${params.wzcrkguid}' and substr(PMDMCODE,1,6)='${params.pmdmcode}'`
} else {
return `select * from TAB_BZGL_KNZY_APP_WZCRKMX where wzcrkguid='${params.wzcrkguid}' and PMDMCODE='${params.pmdmcode}'`
}
}
// 查询同号型
static getCommonHxPzMxSql(params): string {
// pmdm前6位
return `select hx.wzpm wzpm, hx.pmdmsix pmdmsix,hx.pmdmten pmdmcode, hx.hxmc hxmc, mx.pzsl pzsl, mx.crksl crksl, mx.hwh hwh, mx.guid mxguid,mx.pzmxguid pzmxguid from tab_bzgl_knzy_app_wzcrk crk left join tab_bzgl_knzy_app_wzcrkmx mx on crk.GUID = mx.wzcrkguid left join tab_xtwh_jcsj_bzhx hx on mx.pmdmcode = hx.pmdmten where crk.guid = '${(params.guid)}' and hx.PMDMSIX= '${(params.pmdm)}' order by hx.PMDMSIX, hx.XH`
}
// 出入盘库
// 入库修改
static updateWzmxSql(params): string {
return `update tab_bzgl_knzy_app_wzcrkmx set crksl = '${params.crksl}' , hwh = '${params.hwh}' where guid = '${params.mxguid}'`
}
// 不存在物资,进行物资新增
static insertWzSql(params): string {
const sql =
`insert into tab_bzgl_knzy_app_hwb (guid, hwh, pmdmcode, hwsl, hjguid, hwzt) values ('${params.guid}', '${params.hwh}', '${params.pmdmcode}', '${params.hwsl}', '${params.hjguid}','11111111SF1')`
return sql
}
/**
* 包裹管理表
......@@ -99,6 +153,26 @@ export class NativeSql {
return bzhx_sql;
}
/**
* 获取货架的四级结构
* @param pmguid 品名主键
* @param kfdm 库房代码
*/
static getHjListSql(hjh): string {
let sql_val = `SELECT
jh.*,
qy.qymc,
kf.kfmc
FROM
TAB_BZGL_KNZY_APP_HJB jh
LEFT JOIN TAB_BZGL_KNZY_APP_QYB qy ON qy.guid = jh.qyguid
LEFT JOIN tab_bzgl_knzy_app_dwkf kf ON kf.guid = qy.kfguid`
if (hjh) {
sql_val += ` where hjh = '${hjh}'`
}
return sql_val
}
/**
* 导出记录表
......
import { KfInfoDao, SQLiteContext,KfInfo } from '@ohos/common'
import { KfInfo, KfInfoDao, SQLiteContext } from '@ohos/common'
// 库房管理
class KfModel {
// 添加库房
async set(data: KfInfo[]) {
const copyData = data.map(v => {
return {
...v,
isdefault: "0"
}
})
await SQLiteContext.with(KfInfoDao).batchInsert(data)
}
......@@ -13,6 +19,11 @@ class KfModel {
return res;
}
// 设置推荐货位
async update(guid) {
let res = await SQLiteContext.with(KfInfoDao).updateDefault(guid)
}
// 清空表
async clear() {
await SQLiteContext.with(KfInfoDao).clearTable()
......
......@@ -48,6 +48,27 @@ class WzcrkmxModel {
let res = await SQLiteContext.with(WzcrkmxDao).queryRecommendHw(data.pmguid, data.kfdm)
return res
}
// 验证当前货位在本方库
async testHwWz(data) {
let res = await SQLiteContext.with(WzcrkmxDao).testHwWz(data.kfdm, data.hjguid, data.hwh)
return res
}
async getPzMxItem(params, isPmSix) {
let res = await SQLiteContext.with(WzcrkmxDao).getPzMxItem(params, isPmSix)
return res
}
async getCommonHxPzMx(params) {
let res = await SQLiteContext.with(WzcrkmxDao).getCommonHxPzMx(params)
return res
}
async insertWz(params) {
let res = await SQLiteContext.with(WzcrkmxDao).insertWz(params)
return res
}
async updateWzmx(params) {
let res = await SQLiteContext.with(WzcrkmxDao).updateWzmx(params)
return res
}
// 清空表
async clear() {
await SQLiteContext.with(WzcrkmxDao).clearTable()
......
......@@ -5,17 +5,14 @@ import { DirectConnect } from '@ohos/direct';
import { MaterialManagement } from '@ohos/material';
import { PageManagement } from '@ohos/pagemanagement';
import { SystemMaintenance } from '@ohos/system';
import {
BreakpointSystem,
Logger,
StyleConstants,
BreakpointConstants
} from '@ohos/common';
import { BreakpointConstants, BreakpointSystem, Logger, StyleConstants } from '@ohos/common';
@Entry
@Component
struct MainPage {
@StorageProp('currentBreakpoint') currentBreakpoint: string = 'sm';
@StorageLink('IndexPage') currentPageIndex: number = 0;
@State index: number = 0;
private breakpointSystem = new BreakpointSystem();
aboutToAppear() {
......@@ -46,7 +43,7 @@ struct MainPage {
.tabBar(this.BottomNavigation(buttonInfo[PageConstants.NEW_PRODUCT_INDEX]))
TabContent() {
PageManagement()
PageManagement({ currentPageIndex: this.index })
}
.tabBar(this.BottomNavigation(buttonInfo[PageConstants.SHOP_CART_INDEX]))
......@@ -63,6 +60,8 @@ struct MainPage {
.scrollable(false)
.onChange((index: number) => {
this.currentPageIndex = index;
this.index = index
// if (index === PageConstants.PERSONAL_INDEX) {
// this.queryShopCart();
// } else if (index === PageConstants.PERSONAL_INDEX) {
......
......@@ -10,7 +10,6 @@ export struct WzScanInfoDialog {
@Link currentHwh: string
@Link currentWZInfo: Array<any>
handleDefaultHwDetail: () => void
@BuilderParam container: () => void
// hwDetailDialog: CustomDialogController = new CustomDialogController({
......@@ -30,8 +29,8 @@ export struct WzScanInfoDialog {
build() {
Column() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
DividerTitle({title: "扫描信息"})
.padding({ top: 10, bottom: 10 })
DividerTitle({ title: "扫描信息" })
.padding({ top: 10, bottom: 10 })
Image($rawfile('scan/close.png'))
.width(28)
.height(28)
......@@ -50,7 +49,7 @@ export struct WzScanInfoDialog {
})
}.padding(15)
}
.margin({top: 80})
.margin({ top: 80 })
.width('100%')
.borderRadius(5)
.backgroundColor('#fff')
......
import { pzlx_dict, szlx_dict, new_zmlx_dict, Logger } from '@ohos/common'
import { Logger, new_zmlx_dict, pzlx_dict, szlx_dict } from '@ohos/common'
import wzcrkModel from '../../../model/WzcrkModel'
......@@ -169,7 +169,7 @@ export class WzmxClass {
/**
* 品名代码
*/
// pmdmcode: string
pmdmcode: string
/**
* 凭证数量
*/
......@@ -211,10 +211,14 @@ export class WzmxClass {
*/
wczt: string
currentModel?: boolean
constructor(data: {
guid?: string,
// gznd: string,
// pmdmcode: string,
pmdmcode: string,
pzsl: number,
crksl: number,
wzcrkguid: string,
......@@ -224,11 +228,12 @@ export class WzmxClass {
xh: string,
wzpm: string,
pmdmSix: string,
wczt: string
wczt: string,
currentModel?: boolean
}) {
this.guid = data.guid;
// this.gznd = data.gznd;
// this.pmdmcode = data.pmdmcode;
this.pmdmcode = data.pmdmcode;
this.pzsl = data.pzsl;
this.crksl = data.crksl;
this.wzcrkguid = data.wzcrkguid;
......@@ -239,6 +244,94 @@ export class WzmxClass {
this.wzpm = data.wzpm;
this.pmdmSix = data.pmdmSix;
this.wczt = data.wczt;
this.currentModel = data.currentModel
}
}
// 物资表单详情
@Observed
export class PzFormClass {
guid: string;
pzlx: string;
pzh: number;
rkkfdm: string;
kfdm: string;
pzszlx: string;
sfdw: string;
ydh: string;
dec: string;
fwgldwdm: string;
swgldwdm: string;
zmlx: string;
hwh?: string;
constructor(
data: {
guid: string,
pzlx: string,
pzh: number,
rkkfdm: string,
kfdm: string,
pzszlx: string,
sfdw: string,
ydh: string,
dec: string,
fwgldwdm: string,
swgldwdm: string,
zmlx: string,
hwh?: string
}
) {
this.guid = data.guid || '';
this.pzlx = data.pzlx || '';
this.pzh = data.pzh || 0;
this.rkkfdm = data.rkkfdm || '';
this.kfdm = data.kfdm || '';
this.pzszlx = data.pzszlx || '';
this.sfdw = data.sfdw || '';
this.ydh = data.ydh || '';
this.dec = data.dec || '';
this.fwgldwdm = data.fwgldwdm || '';
this.swgldwdm = data.swgldwdm || '';
this.zmlx = data.zmlx || '';
this.hwh = data.hwh || '';
}
}
@Observed
export class ScanWzClass {
pzsl: string
crksl: number
hwh: string
hxmc: string
pmdmcode: string
wzpm: string
pzmxguid: string
mxguid: string
pmdmsix: string
constructor(data: {
pzsl: string
crksl: number
hwh: string
hxmc: string
pmdmcode: string
wzpm: string
pzmxguid: string
mxguid: string
pmdmsix: string
}) {
this.pmdmsix = data.pmdmsix;
this.mxguid = data.mxguid;
this.crksl = data.crksl;
this.hwh = data.hwh;
this.hxmc = data.hxmc;
this.pmdmcode = data.pmdmcode;
this.wzpm = data.wzpm;
this.hxmc = data.hxmc;
this.mxguid = data.mxguid;
}
}
......
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import { WzmxClass } from '../../Common/Wzcrk.data'
@Component
......
......@@ -5,14 +5,14 @@ import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk';
import { WzInfo } from '../../Common/WzInfo'
import { PzInfo } from './PzInfo'
import wzcrkmxModel from '../../../../model/WzcrkmxModel';
import { WzClass, WzmxClass } from '../../Common/Wzcrk.data';
import { PzFormClass, WzClass, WzmxClass } from '../../Common/Wzcrk.data';
import promptAction from '@ohos.promptAction';
import wzcrkModel from '../../../../model/WzcrkModel';
import { SQLiteContext, Wzcrkmx, WzcrkmxDao } from '@ohos/common';
import { AddWzin } from './AddWzin'
import { uuid } from '@ohos/common/src/main/ets/utils/util';
import IdentifyService from '../../../../identify/IdentifySerivce'
import emitter from '@ohos.events.emitter';
import { WzcrkDetailDto } from '@ohos/common/src/main/ets/bean/dto/WzcrkMxRefWzDto';
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
......@@ -38,9 +38,8 @@ struct WzinDetail {
@State isUpdate: boolean = false
@State wzcrk: WzClass = null // 物资出入库单据信息
@State wzmx: WzmxClass[] = [] // 物资出入库明细
@State pzForm: PzFormClass = null // 物资出入库表单详情
private controller: TabsController = new TabsController()
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
onPageShow() {
const params = router.getParams() as params
......@@ -58,7 +57,7 @@ struct WzinDetail {
async getWzFormDetail() {
Logger.info('获取物资表单详情>>', JSON.stringify(this.wzcrk.guid))
const res = await wzcrkModel.queryByCrkDetailGuid(this.wzcrk.guid)
Logger.info('获取到物资出入库表单>>', JSON.stringify(res))
this.pzForm = new PzFormClass(res[0])
}
// 获取物资列表详情信息
......@@ -105,7 +104,12 @@ struct WzinDetail {
TabContent() {
Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getWzmxList, pageType: "入库" })
// pzxqGuild必传 是wzcrk的guid, 我里面已经接了
// pageType必传 入库 出库 盘库 调号 倒库 换位
// dataType必传 导入是true, 其他为false
// isHaveButton 必传 完成状态 未完成是true, 其他为false
WzInfo({ historicalInformation: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getWzmxList,
pageType: "入库", pzForm: this.pzForm, dataType: this.isUpdate ? true : false, isHaveButton: this.wzcrk.wczt == '未完成' ? true : false})
}.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息'))
}
......@@ -171,9 +175,9 @@ struct WzinDetail {
}.onKeyEvent((e: globalThis.KeyEvent) => {
console.error('keycode====》:' + e.keyCode)
if ((e.keyCode == 2096 || e.keyCode == 2093)) {
if(e.type==1){
if(this.currentIndex==0){
this.currentIndex=1
if (e.type == 1) {
if (this.currentIndex == 0) {
this.currentIndex = 1
}
IdentifyService.openScan()
}
......
......@@ -85,7 +85,7 @@ struct WzInvDetail{
TabContent() {
Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail })
WzInfo({ historicalInformation: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail })
}.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息'))
}
......
......@@ -92,7 +92,7 @@ struct WzOutDetail {
TabContent() {
Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail, pageType: "出库" })
WzInfo({ historicalInformation: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail, pageType: "出库" })
}.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息'))
}
......
......@@ -48,8 +48,9 @@ export struct ListDialog {
await hwModel.clear();
await hjModel.clear();
await gldwModel.clear();
await await drModel.set('清除基础数据')
await this.getDrData()
await bzhxModel.clear()
await drModel.set('清除基础数据')
await this.getDrData()
promptAction.showToast({
message: '清除基础数据成功'
})
......@@ -58,6 +59,7 @@ export struct ListDialog {
message: '清除基础数据失败'
})
}
break;
case '是否确认清除单据数据':
try {
......
import { DividerTitle } from '../../../../view/DividerTitle/DividerTitle'
import promptAction from '@ohos.promptAction'
import wzcrkModel from '../../../../model/WzcrkModel'
import wzcrkmxModel from '../../../../model/WzcrkmxModel'
import dsRfidModel from '../../../../model/DsRfidModel'
import { getDjList, getLsqList } from '../sync.api'
import drModel from '../../../../model/DrModel'
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import kfModel from '../../../../model/KfModel'
import { pzlx_dict } from '@ohos/common/src/main/ets/utils/dict'
import hwModel from '../../../../model/HwModel'
@Extend(Button) function CommonButtonStyle() {
......@@ -106,7 +101,8 @@ export struct OrderModal {
Row() {
Text('*').fontColor('red')
Text('单位代码:').width('25%')
TextInput({ placeholder: "请输入单位代码", text: this.form.ckdwguid }).width('60%')
TextInput({ placeholder: "请输入单位代码", text: this.form.ckdwguid })
.width('60%')
.borderRadius(6)
.borderColor('#bcc5d7')
.borderWidth(1)
......
......@@ -33,6 +33,7 @@ export struct GoodShelf {
.placeholderFont({ size: 14, weight: 400 })
.textFont({ size: 14, weight: 400 })
.onSubmit((value) => this.getShelfList(value))
.onChange((value) => this.getShelfList(value))
.borderRadius(5)
}.width('100%')
Column() {
......
......@@ -2,71 +2,56 @@ import { HjInfo } from '@ohos/common'
@Component
export struct Shelf {
@Link dataSource: HjInfo[]
@Link dataSource: HjInfo[]
@Styles commonPadding() {
.padding({top:4, bottom:4})
.padding({ top: 4, bottom: 4 })
.alignSelf(ItemAlign.Start)
}
@Builder renderList() {
Column() {
List(){
List() {
ForEach(this.dataSource, (item, index) => {
ListItem(){
ListItem() {
Row() {
Column() {
Row(){
Text("区域:").commonPadding()
Text(item.kfdm).commonPadding()
}.margin({left:20})
Row(){
Text("库房名称:").commonPadding()
Text(item.kfmc).commonPadding()
}
}.width('40%')
Text("区域:" + item.qymc).commonPadding()
Text("货架号:" + item.hjh).commonPadding()
}.width('45%')
Column() {
Row(){
Text("库房类型:").commonPadding()
Text(item.kflx).commonPadding()
}
Row(){
Text("优先级:").commonPadding()
Text(item.yxj + '').commonPadding()
}
}.width('40%')
Text("层数:" + item.mchws).commonPadding()
Text("货位数/层:" + item.hjcs).commonPadding()
}.width('30%')
Row() {
Radio({ value: 'Radio1', group: 'radioGroup' })
.height(18)
.width(18)
.onChange((isChecked: boolean) => {
console.log('Radio1 status is ' + isChecked)
})
}.width('10%')
Text('仓库:' + item.kfmc)
}.width('25%')
}.commonPadding()
}
})
}.divider({strokeWidth:1,color:'505050'})
}.divider({ strokeWidth: 1, color: '505050' })
}.width('100%').height('100%').backgroundColor('#fff')
}
@Builder renderEmpty() {
Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}) {
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
Column() {
Image($r("app.media.empty")).width("42%")
Text("暂无数据").fontSize(22).fontColor("#fff").margin({top: 5})
Text("暂无数据").fontSize(22).fontColor("#fff").margin({ top: 5 })
}
}.height('70%')
}
build() {
if(this.dataSource.length == 0) {
this.renderEmpty()
} else {
this.renderList()
}
if (this.dataSource.length == 0) {
this.renderEmpty()
} else {
this.renderList()
}
}
}
\ No newline at end of file
import bzhxModal from '../../../model/BzhxModel'
import { BasicTable } from '../../../view/BasicTable/BasicTable'
import { TitleBar } from '../../../view/title/TitleBar'
import { Bzhx, Logger } from '@ohos/common'
import { Bzhx, BzhxDao, SQLiteContext } from '@ohos/common'
import { pmhxList } from './pmhxList'
@Entry
......@@ -11,6 +10,8 @@ export struct Pmhx {
@State offsetNumber: number = 0
@State finished: boolean = false
@State pmdmsix: string = ''
@State pmsl: number = 0
@State hxsl: number = 0
controller: SearchController = new SearchController()
aboutToAppear() {
......@@ -23,6 +24,23 @@ export struct Pmhx {
this.finished = true
}
this.dataSource = [...this.dataSource, ...res]
this.getHxsl()
this.getPmsl()
}
// 号型数量
async getHxsl() {
const res = await SQLiteContext.with(BzhxDao).queryAll()
this.hxsl = res.length
}
// 号型数量
async getPmsl() {
let wp = SQLiteContext.with(BzhxDao).getPredicates()
wp.groupBy(['pmdmsix'])
const res = await SQLiteContext.with(BzhxDao).query(wp)
this.pmsl = res.length
}
clearData() {
......@@ -38,19 +56,20 @@ export struct Pmhx {
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
Column() {
Text('品名数量: 0个')
Text(`品名数量: ${this.pmsl}个`)
}
Column() {
Text('号型数量: 0个')
Text(`号型数量: ${this.hxsl}个`)
}
}
.height(80)
.width('100%')
.backgroundColor('#fff')
.height(52)
.borderRadius(5)
.padding({ left: 10, right: 10 })
}
}.margin({ top: 20 })
Row() {
Search({ placeholder: '请输入六位品名代码', controller: this.controller })
......@@ -64,9 +83,13 @@ export struct Pmhx {
this.pmdmsix = value
this.getPmhxList()
})
.onChange((value) => {
this.clearData()
this.pmdmsix = value
this.getPmhxList()
})
.borderRadius(5)
.margin({ top: 15 })
}
}.height(50).margin({ top: 30 })
Column() {
pmhxList({
......
import { Gldw, Logger } from '@ohos/common'
@Component
......@@ -6,13 +5,13 @@ export struct UnitList {
@Link dataSource: Gldw[]
@Link finished: boolean
@Link offsetNumber: number
onScrollEdge: () => void
scroller: Scroller = new Scroller()
@Styles commonPadding() {
.padding({top:4, bottom:4})
.padding({ top: 4, bottom: 4 })
.alignSelf(ItemAlign.Start)
}
onScrollEdge: () => void
scroller: Scroller = new Scroller()
@Builder renderList() {
Column() {
......@@ -28,49 +27,51 @@ export struct UnitList {
.padding({ top: 8, bottom: 8 })
.width('60%')
}
List({ space: 2, scroller: this.scroller }){
ForEach(this.dataSource, (item, index) => {
ListItem(){
Row() {
Column() {
Row(){
Text(item.dwdm).commonPadding()
}.margin({left:10})
}.width('40%')
Column() {
Row(){
Text(item.dwfh).commonPadding()
}
}.width('60%')
}.commonPadding()
}.borderRadius(4)
})
}.divider({strokeWidth:1,color:'505050'})
.onScrollIndex((firstIndex: number, lastIndex: number) => {
if (!this.finished && this.dataSource.length == (lastIndex + 1) ) {
// 如果没完成并且划到最底部则调刷新数据接口
this.offsetNumber ++
this.onScrollEdge()
}
})
List({ space: 2, scroller: this.scroller }) {
ForEach(this.dataSource, (item, index) => {
ListItem() {
Row() {
Column() {
Row() {
Text(item.dwdm).commonPadding()
}.margin({ left: 10 })
}.width('40%')
Column() {
Row() {
Text(item.dwfh).commonPadding()
}
}.width('60%')
}.commonPadding()
}.borderRadius(4)
})
}.divider({ strokeWidth: 1, color: '505050' })
.margin({ bottom: 20 })
.onScrollIndex((firstIndex: number, lastIndex: number) => {
if (!this.finished && this.dataSource.length == (lastIndex + 1)) {
// 如果没完成并且划到最底部则调刷新数据接口
this.offsetNumber++
this.onScrollEdge()
}
})
}.width('100%').height('100%').backgroundColor('#fff')
}
@Builder renderEmpty() {
Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}) {
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
Column() {
Image($r("app.media.empty")).width("42%")
Text("暂无数据").fontSize(22).fontColor("#fff").margin({top: 5})
Text("暂无数据").fontSize(22).fontColor("#fff").margin({ top: 5 })
}
}.height('70%')
}
build() {
if(this.dataSource.length == 0) {
this.renderEmpty()
} else {
this.renderList()
}
if (this.dataSource.length == 0) {
this.renderEmpty()
} else {
this.renderList()
}
}
}
\ No newline at end of file
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import kfModel from '../../../model/KfModel'
@Component
export struct HouseList {
......@@ -39,13 +40,19 @@ export struct HouseList {
}
}.width('40%')
Row() {
Radio({ value: 'Radio1', group: 'radioGroup' })
Column() {
Radio({ value: item.guid, group: 'radioGroup' })
.checked(item.isdefault == '1')
.height(18)
.width(18)
.onChange((isChecked: boolean) => {
console.log('Radio1 status is ' + isChecked)
if (isChecked) {
kfModel.update(item.guid)
}
})
if (item.isdefault == '1') {
Text('默认库房').fontColor('#3672cf')
}
}.width('10%')
}.commonPadding()
}
......
import router from '@ohos.router'
import {
StatusBarManager,
SQLiteContext,
BgglDao,
Logger
} from '@ohos/common';
@Entry
import { BgglDao, Logger, SQLiteContext, StatusBarManager } from '@ohos/common';
@Extend(Text) function numberStyle() {
.fontSize(20)
.fontColor('#17d56b')
.padding({ left: 5, right: 5 })
}
@Component
export struct PageManagement {
@State currentIndex: number = 0
private controller: TabsController = new TabsController()
searchController: SearchController = new SearchController()
@Prop @Watch('onCountUpdated') currentPageIndex: number
@State total: number = 0
@State dsj: number = 0
@State wlq: number = 0
@State ylq: number = 0
private controller: TabsController = new TabsController()
onCountUpdated(index: number) {
if (this.currentPageIndex == 2) {
this.getTotal()
this.getDsj()
this.getYlq()
this.getWlq()
}
}
@Builder TabBuilder(index: number, name: string) {
Column() {
......@@ -27,24 +41,35 @@ export struct PageManagement {
}.width('100%')
}
onPageShow(){
this.getPackList()
}
// 获取包裹列表
async getPackList(ddh?: string) {
let wp = SQLiteContext.with(BgglDao).getPredicates()
}
if(ddh) {
wp.equalTo('DDH', ddh)
}
async getTotal() {
const res = await SQLiteContext.with(BgglDao).queryAll()
Logger.info('total>>', res.length + '')
this.total = res.length
}
wp.equalTo('WCZT','未完成')
const res = await SQLiteContext.with(BgglDao).queryAll(wp)
const res1 = await SQLiteContext.with(BgglDao).queryAll()
async getDsj() {
let wp = SQLiteContext.with(BgglDao).getPredicates()
wp.equalTo('WCZT', '待上架')
const res = await SQLiteContext.with(BgglDao).query(wp)
this.dsj = res.length
}
Logger.info('包裹列表>>', JSON.stringify(res))
Logger.info('包裹列表1111>>', JSON.stringify(res1))
async getWlq() {
let wp = SQLiteContext.with(BgglDao).getPredicates()
wp.equalTo('WCZT', '未领取')
const res = await SQLiteContext.with(BgglDao).query(wp)
this.wlq = res.length
}
async getYlq() {
let wp = SQLiteContext.with(BgglDao).getPredicates()
wp.equalTo('WCZT', '已领取')
const res = await SQLiteContext.with(BgglDao).query(wp)
this.ylq = res.length
}
build() {
......@@ -119,48 +144,78 @@ export struct PageManagement {
Row() {
Column() {
Row() {
Text("0条")
Text(this.total + '').numberStyle()
Text("条")
}
Text("订单数量").padding({ top: 8, bottom: 8 })
}
}.width('50%').justifyContent(FlexAlign.Center).onClick(() => {
}
.width('50%')
.justifyContent(FlexAlign.Center)
.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: {
type: "all"
} })
}).border({
})
.border({
width: { left: '0lpx', right: '2lpx', top: '0lpx', bottom: '0lpx' },
}).height('100%')
})
.height('100%')
Row() {
Column() {
Text("待上架0条").onClick(() => {
Row() {
Text(`待上架`)
Text(`${this.dsj}`).numberStyle()
Text(`条`)
}
.justifyContent(FlexAlign.Center)
.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: {
type: "wait"
} })
}).padding({ top: 10, bottom: 10 }).border({
})
.padding({ top: 10, bottom: 10 })
.border({
width: { left: '0lpx', right: '0lpx', top: '0lpx', bottom: '2lpx' },
}).textAlign(TextAlign.Center).width('100%')
})
.width('100%')
Text("未领取0条").onClick(() => {
Row() {
Text(`未领取`)
Text(`${this.wlq}`).numberStyle()
Text(`条`)
}
.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: {
type: "unclaimed"
} })
}).padding({ top: 10, bottom: 10 }).textAlign(TextAlign.Center).width('100%').border({
})
.padding({ top: 10, bottom: 10 })
.justifyContent(FlexAlign.Center)
.width('100%')
.border({
width: { left: 'lpx', right: '0lpx', top: '0lpx', bottom: '2lpx' },
})
Text("已领取0条").onClick(() => {
Row() {
Text(`已领取`)
Text(`${this.ylq}`).numberStyle()
Text(`条`)
}.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: {
type: "received"
} })
}).padding({ top: 10, bottom: 10 }).textAlign(TextAlign.Center).width('100%')
}).padding({ top: 10, bottom: 10 }).justifyContent(FlexAlign.Center).width('100%')
}
}.width('50%').justifyContent(FlexAlign.Center)
}.border({
width: { left: '0lpx', right: '0lpx', top: '2lpx', bottom: '0lpx' },
}).height(120)
}).height(130)
}
}.padding({top: `${StatusBarManager.get().getSystemBarOffset()}px`})
.width('100%').backgroundColor('#fff')
}.padding({ top: `${StatusBarManager.get().getSystemBarOffset()}px` })
.width('100%')
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论