Commit 300a1b51 by 陈桂东

数据保存

parent cb372085
......@@ -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());
}
......
......@@ -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)
}
}
......
......@@ -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}%`;
......
......@@ -100,8 +100,4 @@ export interface Wzcrk {
* 备注
*/
dec: string,
/**
* 物资出入库明细
*/
jhmx?: Wzcrkmx[]
}
\ No newline at end of file
......@@ -31,5 +31,5 @@ export interface Wzcrkmx {
/**
* 临时码
*/
wzdm: string
// wzdm: string
}
\ No newline at end of file
......@@ -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);
......
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<Wzcrkmx[]> {
let res = await SQLiteContext.with(WzcrkmxDao).getWzcrkmx(wzcrkguid,pmdmcode)
async query(wzcrkguid?: string,pmdmcode?: string): Promise<WzcrkMxRefWzDto[]> {
let res = await SQLiteContext.with(WzcrkmxDao).queryByCrkGuid(wzcrkguid,pmdmcode)
return res;
}
async updateCrkMX(guid: string, hwh: string,crksl?:string):Promise<number> {
......
......@@ -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 })
......
......@@ -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)
......
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
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) {
......
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"))
......
......@@ -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({
......
......@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论