php ok3w系统开源软件,php的进销存软件jiandanjxc

以前使用过一个ok3w的系统,使用起来感觉不错,从.4.7左右,一直用到5.0到后来ok3w出了6.0了已经静态后的,就没有再用过,因为从5.0后ajax的调试就不能用netbox了,所以以后就用的少了,原来的ok3w的系统是asp的,现在看起来,有好多的新技术不能应用到这个程序上,所以打算使用php来从新写一下这程序,开源出来,

因为程序的类都放在了appcode的文件夹中,所以猜测写ok3w这个系统的作者应该使用过.net,本人在上大学的时候,也学习了.net,使用的是c#语言,后来接触了php,感觉php 工具比较轻量一点,使用过记事本之类的就可以解决问题了,如editplus,当然也有重型的,比如phpstorm,

从现在开始,也一点学习一下php语言,使用的是oschina.git ,apache协议,地址如下

http://git.oschina.net/9786/phpok3w

有兴趣的朋友,可以一起参与一下



工作需要使用进销存,在网上找来找去,就那个几个进销存,界面一般,功能不知道如何,在网上找到一个亚雷的系统,界面不般找了一个界面做上

原来人家也是开源,我就把改了界面后的放到我的开源荐里了

https://code.csdn.net/sunbingzibo/jiandanjxc

有兴趣的同学可以参与一下


我的开源项目,土豆crm,这个是基于thinkphp框架的一个crm程序,

http://git.oschina.net/9786/tudoucrm

等过一段时间之后,改了界面再开源吧,


还一个smpss的界面修改版的进销存,

地址是:http://git.oschina.net/9786/smarket

smarket加入了对ucenter用户的支持,本人的美工不好,基本上都使用这个界面,比较符合我的使用习惯


 




我的小店,有兴趣的同学可去看一下

http://rmy9786.taobao.com


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
专注于ASP新闻发布系统开发,力求功能实用,操作方便,运行高效。 主要功能: 一、后台直接更新系统信息,方便配置站点; 二、数据库在线压缩、备份; 三、友情链接管理; 四、站点介绍类文章任意添加; 五、新闻文章管理: 5.1、无级限分类; 5.2、加入回收站功能,减少无意删除的烦恼; 5.3、自由设置新闻开关、推荐与否; 5.4、特别整理了一套HTML编辑器,提高编辑器加载速度,方便文章自由编辑,加入文章自由分页及强大的远程上传功能; 5.5、发布滚动新闻(发布新闻时,选中“滚动”属性即可); 5.6、发布图片轮播新闻(发布新闻时,选中“轮播”属性即可)。 5.7、新闻分类增加图片新闻列表选项,增加自定义每页条数; 5.8、发布新闻,增加标题颜色和跳转连接,控制更自由; 5.9、发布新闻,改进图片上传方式,方便操作; 六、留言/评论管理。 七、网站管理员权限设置(超级管理员和新闻编辑人员); 八、站点信息配置删除一些无用信息; 九、改进留言/评论管理方式; 十、优化vbs.asp调用函数,增加图片列表函数及更多属性控制; v4.0除做了大量优化工作外: 一、留言板上做了全新的改进,更方便交流互动;后台加入是否需要审核的关开控制;采用列表管理,更方便操作; 二、站内搜索做了相应调整。 后台登陆: 地址:Admin/ad_login.asp 用户名:admin 密码:admin
好的,一个超市进销存管理系统主要包括以下模块: 1. 商品管理模块:包括添加商品、修改商品、删除商品、查询商品等操作; 2. 库存管理模块:包括商品入库、商品出库、库存查询等操作; 3. 销售管理模块:包括销售记录、销售统计等操作; 4. 用户管理模块:包括添加用户、修改用户、删除用户、查询用户等操作; 5. 权限管理模块:包括用户权限分配、角色管理等操作。 下面是一个简单的示例代码: ```python import json class Product: def __init__(self, pid, name, price, quantity): self.id = pid self.name = name self.price = price self.quantity = quantity def __str__(self): return f'{self.id}\t{self.name}\t{self.price}\t{self.quantity}' class Inventory: def __init__(self, filename): self.filename = filename self.products = [] self.load() def load(self): try: with open(self.filename, 'r') as f: data = json.load(f) for p in data: product = Product(p['id'], p['name'], p['price'], p['quantity']) self.products.append(product) except FileNotFoundError: pass def save(self): with open(self.filename, 'w') as f: data = [] for p in self.products: data.append({'id': p.id, 'name': p.name, 'price': p.price, 'quantity': p.quantity}) json.dump(data, f) def add_product(self, product): self.products.append(product) self.save() def remove_product(self, pid): for p in self.products: if p.id == pid: self.products.remove(p) self.save() return True return False def update_product(self, pid, name, price, quantity): for p in self.products: if p.id == pid: p.name = name p.price = price p.quantity = quantity self.save() return True return False def search_product(self, pid=None, name=None): result = [] for p in self.products: if pid and p.id == pid: result.append(p) elif name and p.name == name: result.append(p) return result def get_all_products(self): return self.products def add_quantity(self, pid, quantity): for p in self.products: if p.id == pid: p.quantity += quantity self.save() return True return False def remove_quantity(self, pid, quantity): for p in self.products: if p.id == pid: if p.quantity >= quantity: p.quantity -= quantity self.save() return True else: return False return False class Sale: def __init__(self, pid, quantity, total): self.pid = pid self.quantity = quantity self.total = total def __str__(self): return f'{self.pid}\t{self.quantity}\t{self.total}' class SalesRecord: def __init__(self, filename): self.filename = filename self.sales = [] self.load() def load(self): try: with open(self.filename, 'r') as f: data = json.load(f) for s in data: sale = Sale(s['pid'], s['quantity'], s['total']) self.sales.append(sale) except FileNotFoundError: pass def save(self): with open(self.filename, 'w') as f: data = [] for s in self.sales: data.append({'pid': s.pid, 'quantity': s.quantity, 'total': s.total}) json.dump(data, f) def add_sale(self, sale): self.sales.append(sale) self.save() def get_sales(self): return self.sales def get_total_sales(self): total = 0 for s in self.sales: total += s.total return total class User: def __init__(self, username, password, role): self.username = username self.password = password self.role = role def __str__(self): return f'{self.username}\t{self.role}' class UserManager: def __init__(self, filename): self.filename = filename self.users = [] self.load() def load(self): try: with open(self.filename, 'r') as f: data = json.load(f) for u in data: user = User(u['username'], u['password'], u['role']) self.users.append(user) except FileNotFoundError: pass def save(self): with open(self.filename, 'w') as f: data = [] for u in self.users: data.append({'username': u.username, 'password': u.password, 'role': u.role}) json.dump(data, f) def add_user(self, user): self.users.append(user) self.save() def remove_user(self, username): for u in self.users: if u.username == username: self.users.remove(u) self.save() return True return False def update_user(self, username, password, role): for u in self.users: if u.username == username: u.password = password u.role = role self.save() return True return False def search_user(self, username=None): result = [] for u in self.users: if username and u.username == username: result.append(u) return result def get_all_users(self): return self.users class Role: ADMIN = 'admin' CASHIER = 'cashier' class Supermarket: def __init__(self): self.inventory = Inventory('inventory.json') self.sales = SalesRecord('sales.json') self.users = UserManager('users.json') self.current_user = None def login(self, username, password): users = self.users.search_user(username) if users: user = users[0] if user.password == password: self.current_user = user return True return False def logout(self): self.current_user = None def is_admin(self): return self.current_user and self.current_user.role == Role.ADMIN def add_product(self, pid, name, price, quantity): product = Product(pid, name, price, quantity) self.inventory.add_product(product) def remove_product(self, pid): if self.inventory.remove_product(pid): self.sales.sales = [s for s in self.sales.sales if s.pid != pid] def update_product(self, pid, name, price, quantity): self.inventory.update_product(pid, name, price, quantity) def search_product(self, pid=None, name=None): return self.inventory.search_product(pid, name) def get_all_products(self): return self.inventory.get_all_products() def add_quantity(self, pid, quantity): if self.inventory.add_quantity(pid, quantity): product = self.search_product(pid=pid)[0] total = product.price * quantity sale = Sale(pid, quantity, total) self.sales.add_sale(sale) def remove_quantity(self, pid, quantity): if self.inventory.remove_quantity(pid, quantity): product = self.search_product(pid=pid)[0] total = product.price * quantity sale = Sale(pid, quantity, total) self.sales.add_sale(sale) def get_sales(self): return self.sales.get_sales() def get_total_sales(self): return self.sales.get_total_sales() def add_user(self, username, password, role): user = User(username, password, role) self.users.add_user(user) def remove_user(self, username): self.users.remove_user(username) def update_user(self, username, password, role): self.users.update_user(username, password, role) def search_user(self, username=None): return self.users.search_user(username) def get_all_users(self): return self.users.get_all_users() ``` 上面的代码中,我们定义了 `Product`、`Inventory`、`Sale`、`SalesRecord`、`User`、`UserManager`、`Supermarket` 等类来实现超市进销存管理系统的各项操作,其中: - `Product` 类表示商品信息,包括商品编号、商品名称、商品单价和库存数量; - `Inventory` 类表示库存管理模块,包括添加商品、删除商品、修改商品、查询商品、商品入库、商品出库等操作; - `Sale` 类表示销售记录,包括商品编号、销售数量和销售总额; - `SalesRecord` 类表示销售管理模块,包括销售记录和销售统计等操作; - `User` 类表示用户信息,包括用户名、密码和角色; - `UserManager` 类表示用户管理模块,包括添加用户、删除用户、修改用户、查询用户等操作; - `Supermarket` 类表示超市进销存管理系统,包括系统登录、系统登出、商品管理、库存管理、销售管理、用户管理等操作。 我们可以通过以下代码来测试上面的超市进销存管理系统: ```python # 创建一个超市进销存管理系统 supermarket = Supermarket() # 添加商品 supermarket.add_product('001', '可乐', 2.5, 100) supermarket.add_product('002', '薯片', 3.0, 200) supermarket.add_product('003', '巧克力', 5.0, 150) # 查询商品 print('所有商品:') for p in supermarket.get_all_products(): print(p) print() print('查询商品:') for p in supermarket.search_product(name='可乐'): print(p) print() # 商品入库 supermarket.add_quantity('001', 50) # 商品出库 supermarket.remove_quantity('002', 100) # 查询销售记录 print('销售记录:') for s in supermarket.get_sales(): print(s) print() # 查询销售总额 print(f'销售总额:{supermarket.get_total_sales()}') print() # 添加用户 supermarket.add_user('admin', 'admin123', Role.ADMIN) supermarket.add_user('cashier', 'cashier123', Role.CASHIER) # 查询用户 print('所有用户:') for u in supermarket.get_all_users(): print(u) print() print('查询用户:') for u in supermarket.search_user(username='admin'): print(u) print() # 修改用户 supermarket.update_user('admin', 'admin456', Role.CASHIER) # 删除用户 supermarket.remove_user('cashier') ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值