Commit 73b4f62c by huangqy

扫码逻辑

parent 8e3b508e
...@@ -8,4 +8,45 @@ export interface RecommendHwDto { ...@@ -8,4 +8,45 @@ export interface RecommendHwDto {
pmguid: string, pmguid: string,
hwguid: string, hwguid: string,
hwh: 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
...@@ -5,7 +5,7 @@ import { Table } from '../decorator/Decorators'; ...@@ -5,7 +5,7 @@ import { Table } from '../decorator/Decorators';
import { Logger } from '../../utils/Logger'; import { Logger } from '../../utils/Logger';
import { NativeSql } from '../sql/NativeSql'; import { NativeSql } from '../sql/NativeSql';
import { WzcrkDetailDto, WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto'; 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,144 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> { ...@@ -234,12 +234,144 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
*/ */
toRecommendHwDto(cursor: relationalStore.ResultSet): RecommendHwDto { toRecommendHwDto(cursor: relationalStore.ResultSet): RecommendHwDto {
let info: 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')), 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')), hjguid: cursor.getString(cursor.getColumnIndex('hjguid')),
pmguid: cursor.getString(cursor.getColumnIndex('pmguid')), hwzt: cursor.getString(cursor.getColumnIndex('hwzt')),
hwguid: cursor.getString(cursor.getColumnIndex('hwguid')), hwxgsj: cursor.getString(cursor.getColumnIndex('hwxgsj')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')) 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; 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) {
try {
let val_sql = NativeSql.updateWzmxSql(params)
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
return rs;
} catch (e) {
throw new Error('[更新异常]|' + e)
}
}
} }
\ No newline at end of file
import { uuid } from '../../utils/util';
export class NativeSql { export class NativeSql {
/** /**
* 构建出入库明细查询语句 * 构建出入库明细查询语句
...@@ -51,18 +52,60 @@ WHERE ...@@ -51,18 +52,60 @@ WHERE
* @param kfdm 库房代码 * @param kfdm 库房代码
*/ */
static getRecommendHwSql(pmguid, kfdm): string { 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 FROM
HW_PROJECT_TABLE tjhw tab_bzgl_knzy_app_hwb hw
LEFT JOIN tab_bzgl_knzy_app_hwb hw ON tjhw.hwguid = hw.guid LEFT JOIN tab_bzgl_knzy_app_hjb hj ON hj.guid = hw.hjguid
LEFT JOIN TAB_BZGL_KNZY_APP_HJB hj ON tjhw.hjguid = hj.guid LEFT JOIN tab_bzgl_knzy_app_qyb qy ON qy.guid = hj.qyguid
LEFT JOIN TAB_BZGL_KNZY_APP_QYB qy ON hj.qyguid = qy.guid )
WHERE WHERE
tjhw.pmguid =${pmguid} kfdm = '${kfdm}'
AND qy.kfguid IN ( SELECT guid FROM TAB_BZGL_KNZY_APP_DWKF WHERE kfdm = ${kfdm} )` AND hjguid = '${hjguid}'
AND hwh = '${hwh}'`
return sql_val 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
}
/** /**
* 包裹管理表 * 包裹管理表
......
...@@ -48,6 +48,27 @@ class WzcrkmxModel { ...@@ -48,6 +48,27 @@ class WzcrkmxModel {
let res = await SQLiteContext.with(WzcrkmxDao).queryRecommendHw(data.pmguid, data.kfdm) let res = await SQLiteContext.with(WzcrkmxDao).queryRecommendHw(data.pmguid, data.kfdm)
return res 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() { async clear() {
await SQLiteContext.with(WzcrkmxDao).clearTable() await SQLiteContext.with(WzcrkmxDao).clearTable()
......
...@@ -8,7 +8,6 @@ import wzcrkmxModel from '../../../../model/WzcrkmxModel'; ...@@ -8,7 +8,6 @@ import wzcrkmxModel from '../../../../model/WzcrkmxModel';
import { PzFormClass, WzClass, WzmxClass } from '../../Common/Wzcrk.data'; import { PzFormClass, WzClass, WzmxClass } from '../../Common/Wzcrk.data';
import promptAction from '@ohos.promptAction'; import promptAction from '@ohos.promptAction';
import wzcrkModel from '../../../../model/WzcrkModel'; import wzcrkModel from '../../../../model/WzcrkModel';
import { SQLiteContext, Wzcrkmx, WzcrkmxDao } from '@ohos/common';
import { AddWzin } from './AddWzin' import { AddWzin } from './AddWzin'
import { uuid } from '@ohos/common/src/main/ets/utils/util'; import { uuid } from '@ohos/common/src/main/ets/utils/util';
import IdentifyService from '../../../../identify/IdentifySerivce' import IdentifyService from '../../../../identify/IdentifySerivce'
...@@ -40,7 +39,6 @@ struct WzinDetail { ...@@ -40,7 +39,6 @@ struct WzinDetail {
@State wzcrk: WzClass = null // 物资出入库单据信息 @State wzcrk: WzClass = null // 物资出入库单据信息
@State wzmx: WzmxClass[] = [] // 物资出入库明细 @State wzmx: WzmxClass[] = [] // 物资出入库明细
@State pzForm: PzFormClass = null // 物资出入库表单详情 @State pzForm: PzFormClass = null // 物资出入库表单详情
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
private controller: TabsController = new TabsController() private controller: TabsController = new TabsController()
onPageShow() { onPageShow() {
...@@ -106,7 +104,12 @@ struct WzinDetail { ...@@ -106,7 +104,12 @@ struct WzinDetail {
TabContent() { TabContent() {
Column() { Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getWzmxList, pageType: "入库", pzForm: this.pzForm }) // pzxqGuild必传 是wzcrk的guid, 我里面已经接了
// pageType必传 入库 出库 盘库 调号 倒库 换位
// dataType必传 导入是true, 其他为false
// isHaveButton 必传 完成状态 未完成是true, 其他为false
WzInfo({ wzmx: 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%") }.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息')) }.tabBar(this.TabBuilder(1, '物资信息'))
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论