跳至主要內容

商贸软件

chanchaw大约 12 分钟projs

概述

本项目open in new window 的客户:吉利、乐亿达,分别使用自有的线下服务器,欣铭晟、闵成、金铭驰都使用线上的云服务器。

仓库分支

  • 吉利 - jili
  • 乐亿达 - leyida
  • 欣铭晟 - xinmingsheng_active
  • 闵成 - mincheng
  • 金铭驰 - jinmingchi
  • 精之研演示 - xinmingsheng_active
  • 万宇 - xinmingsheng_active

万宇商贸

访问地址 https://comm.网筒域名/wanyucomm/login,登录账号密码 root/xdf123,部署在 腾讯云网筒 路径 /projs/wanyu 下,启停命令 wanyu start/stop/status。采用分支 xinmingsheng_active 编译

精之研演示

2026年5月4日 在 腾讯云网筒 服务器上制作了精之研演示账套,项目路径 /projs/jingzhiyan,对应数据库是 织造云数据fabric_trading_jzy,制作了软连接的命令 jzycomm start/stop/status。域名配置在 织造云数据nginx 中,通过 wireguard 反向代理项目。

吉利商贸

前处理设计方案

2025年11月3日 陈婷要在系统中制作坯布前处理的出入库记录,发以下构想给陈婷研究:

坯布发前处理 - 发白坯给前处理厂商进行加工 前处理退本厂 - 发出的白坯有多余,不需要全部加工,需要退回部分,由前处理加工商退白坯给我们本厂 前处理退坯布厂 - 前处理加工商加工过程中发现白坯有瑕疵,直接退坯布给坯布供应商 前处理直发染厂 - 前处理加工商加工结束后直接发给染厂 前处理发本厂 - 前处理加工商加工结束后发回给我们本厂 染厂退前处理 - 染厂加工过程中发现需要由前处理加工商回修的坯布,直接发给其回修

前处理过的坯布库存? 前处理加工上的对账单

白坯前处理的操作都在 业务流程 > 白坯管理 中,对于业务往来的操作如下:

前处理单据操作
  • 白坯发前处理 - 新增出库,单据类型选择 白坯发前处理
  • 前处理后的坯布入本厂 - 工具栏按钮 前处理 > 单据类型选择 前处理入本厂
  • 由前处理厂直接发坯布给染厂 - 工具栏按钮 前处理 > 单据类型选择 前处理直发染厂
  • 前处理厂家退坯布 - 在序时表表格中通过右键菜单项退坯布,选择单据类型 前处理退本厂 或者 前处理退坯布厂
  • 前处理后的坯布的库存 - 菜单顺序 业务流程 > 白坯库存 根据 单据类型 可以看出是白坯布或者前处理后的坯布
  • 订单综合查询表 - 新增了 前处理 栏,数量是 前处理入本厂 + 前处理直发染厂 的数量,金额为这两个类的加工费
  • 前处理加工费 - 在 白坯发前处理 中,导入白坯库存后填写单价

欣铭晟

概述

java 后台服务部署在 织造云数据 的服务器上,路径是 /projs/xinmingsheng,一开始制作的守护进程脚本启动项目后能访问,但是没多久登录状态就消失,后台使用 bash 脚本启动项目就没有这个问题。

使用 deepseek 写了启动停止的脚本文件,下面是启动脚本

#!/bin/bash

# 定义变量
JAR_NAME="xmscommerce.jar"
LOG_FILE="xmscommerce.log"
JVM_OPTS="-Xms512m -Xmx512m"
CONFIG_LOCATION="application.yml"

# 检查jar文件是否存在
if [ ! -f "$JAR_NAME" ]; then
    echo "错误: $JAR_NAME 文件不存在!"
    exit 1
fi

# 检查是否已运行
PID=$(pgrep -f "$JAR_NAME")
if [ -n "$PID" ]; then
    echo "错误: $JAR_NAME 已经在运行 (PID: $PID)"
    exit 1
fi

# 启动应用
echo "正在启动 $JAR_NAME ..."
nohup java -jar $JAR_NAME $JVM_OPTS --spring.config.location=$CONFIG_LOCATION > $LOG_FILE 2>&1 &

# 检查是否启动成功
sleep 3
NEW_PID=$(pgrep -f "$JAR_NAME")
if [ -n "$NEW_PID" ]; then
    echo "$JAR_NAME 启动成功! (PID: $NEW_PID)"
    echo "日志输出: $LOG_FILE"
else
    echo "错误: $JAR_NAME 启动失败,请检查日志: $LOG_FILE"
    exit 1
fi

下面是停止脚本

#!/bin/bash

# 查找 xmscommerce.jar 的进程ID
PID=$(ps -ef | grep xmscommerce.jar | grep -v grep | awk '{print $2}')

if [ -z "$PID" ]; then
    echo "xmscommerce.jar 进程未运行"
else
    echo "正在停止 xmscommerce.jar 进程 (PID: $PID)..."
    kill -9 $PID
    sleep 2
    # 再次检查是否成功停止
    if ps -p $PID > /dev/null; then
        echo "无法停止进程 $PID,请手动检查"
    else
        echo "xmscommerce.jar 进程已停止"
    fi
fi

启停命令

织造云数据 服务器(IP 地址 101.34.89.88)任意路径都可以执行下面的命令

# 启动
xmscomm start
# 停止
xmscomm stop
# 查看运行状态
xmscomm status

更新与部署

  • 项目地址 https://comm.网筒云域名/xmscomm/login

  • 部署在 织造云数据 服务器的路径 /projs/xinmingsheng/

  • 更新时注意保留上一次 jar 文件

  • 路径切换到 /projs/xinmingsheng/backend 后执行命令 ./start.sh 启动项目,执行 ./stop.sh 停止项目

辅料配件

  • 在系统导航菜单 辅料配件 中新增 采购计划,打开为序时表,通过工具栏按钮 新增 弹出模态窗制作采购计划,一次制作一个产品
  • 流程是:制作辅料配件采购计划 > BOSS 审核通过 > 辅料配件入库时强制要求选择已审核过的采购计划导入品名后入库
  • 针对不同客户,系统有不同配置。如不需要制作采购计划,则辅料配件入库时不需要导入采购计划,保持原录入方式
  • 制作采购计划时品名从 辅料配件 的基础资料 品名 中选择,并自动填充 类别。也可手动输入品名后再手动选择 类别
  • 采购计划序时表中显示进度
    • 新制作的采购计划 - 待审核
    • BOSS审核后 - 已审核未入库
    • 制作入库单后 - 已入库
    • 财务付款后 - 已完成
  • 财务在采购计划序时表中设置付款金额,并手动设置完成状态。序时表采用一个表格显示数据,在工具栏中罗列所有进度状态 用户点选后刷新表格数据,实现快速查看不同进度的采购计划,默认按照制作时间倒排序
  • 下图设计稿文件是 \\192.168.0.119\安装程序\客户资料\闵成\采购计划.xlsx
闵成采购计划序时表
闵成采购计划序时表
闵成采购计划单据模态窗
闵成采购计划单据模态窗

闵成

概述

2025年10月29日拷贝欣铭晟代码给闵成使用。

  • ERP 访问地址 https://comm.网筒域名/mccomm/login
  • PDA 登录页面 http://comm.网筒域名/minchengpda/Touchscreen/indexBP.html?markNubmer=1
  • 域名映射到服务器 织造云数据,在 nginx 中制作的反向代理指向2025购买的 腾讯云网筒 服务器 o(╥﹏╥)o 。后台服务通过外置配置文件连接到 织造云数据MYSQL,使用数据库 fabric_trading_mincheng
  • 同样查看 织造云数据nginx 的配置,PDA 的前端项目部署在本服务器的 /projs/mincheng/pda 下,PDA 登录密码 5012
  • 2026年3月13日 制作了 PDA 前端项目映射到 comm.https.conf 配置文件中,之前不可访问 https 协议的项目

启停命令

腾讯云网筒 服务器(IP 地址 119.45.220.6)任意路径可执行下面命令

# 命令依次是:启动,停止,查看运行状态
mincheng start/stop/status

更新步骤

  1. 拷贝最新 jar腾讯云网筒 服务器的路径 /projs/mincheng/backend/

  2. 执行命令 mincheng stop 停止正在运行的项目

  3. 修改文件 mincheng.jarmincheng.20251107.jar 中间填写当天的日期,以便回退版本使用

  4. 将上传的新 jar 修改名称为 mincheng.jar,执行命令 mincheng start 启动项目

项目迁移

最初在线下 xdf250 服务器上,后来由于服务器不稳定迁移到 2025 新购买的 腾讯云网筒 服务器上,在 织造云数据 服务器上通过 nginx (配置文件在 /etc/nginx/conf.d/comm.conf)制作代理 域名open in new window ,制作软连接用于启动项目 mincheng start

采购计划

  • 给没有合同的支出使用,所以不包括采购原料(织布的丝),一般包括:后勤、办公、修缮等等非生产的支出
  • 流程为:员工制作采购计划 > BOSS审核通过 > 采购后入库到 “辅料配件” 仓库 > 系统同时推动采购计划到 “正在执行” 状态 > 入库的操作员设置采购计划完工
  • 辅料配件 新增入库单时要求导入 采购计划,要制作系统配置,打开配置则强制要求选择 采购计划,关闭则可手动选择品名、填写数量

金铭驰

概述

2025年10月29日 拷贝闵成给金铭驰使用

2026年2月27日 09:41:50,查看文档以及服务器(织造云数据)后发现春节前将项目部署在公司服务器250上,在云服务器的 nginx 中反向代理了公司的线下服务器,后来改服务器损坏,导致项目不可访问,并且数据丢失。今日重新拿欣铭晟的项目部署给金铭驰使用,只是修改了配置文件中厂名相关的参数以及关联的数据库,本项目在织造云数据的 /projs/jinmingchi 下,数据库是 织造云数据 中的 fabirc_trading_jinmingchi

/projs/jinmingchi/sh 中创建了项目启停脚本文件 service,start,stop,并对 service.sh 制作了软连接,系统内全局可使用 jmccommerce start 启动项目,同理停止项目是 jmccommerce stop,检查进程运行状态 jmccommerce status。在 /etc/rc.local 中制作了自启动,可通过 vim /etc/rc.local 查看

启停命令

织造云数据 服务器(IP 地址 101.xx.xx.88)任意路径下执行下面命令

jinmingchi start
jinmingchi stop
jinmingchi status

测试账套

织造云数据 的路径 /projs/fabricTradingXdf 制作了测试账套,访问地址 https://comm.网筒云域名/xdfcomm/home,使用本服务器的数据库 fabric_trading_xdf

分支

吉利和乐亿达最初是一个项目,后来由于三位小数和在订单中区分染色、印花布的功能拆分为分别使用自己的专用分支。2025年6月20日 拿乐亿达分支为欣铭晟制作,并部署到云端。

2025年6月20日 将乐亿达分支部署到 织造云数据 服务器上,并在 dnspod.cn 设置了二级域名 comm.网筒域名/xmscomm 访问。项目路径是 /projs/xinmingsheng/

制作的守护进程,通过 systemctl start xinmingsheng.service 启动项目后会不断的发送微信模板消息提示项目启动成功,好像项目一直在自动重启。浏览器访问项目后没多久登录状态会丢失,从序时表打开单据显示空白,没有数据。后来使用下面命令启动项目没有问题

java -jar /projs/xinmingsheng/backend/xmscommerce.jar -Dloader.path="/projs/xinmingsheng/backend/lib" --spring.config.location=/projs/xinmingsheng/backend/application.yml

上面是前台运行项目,下面是后台运行

nohup java -jar /projs/xinmingsheng/backend/xmscommerce.jar -Dloader.path="/projs/xinmingsheng/backend/lib" --spring.config.location=/projs/xinmingsheng/backend/application.yml > /projs/xinmingsheng/logs/all.log &

业务逻辑

白坯直发染厂

实际业务操作中一般都是织造厂直发染厂(节省运费和人工),但是在软件中的操作不可做直发,而是要经过贸易公司中转进行拆分,在制作发给染厂的发货单中要指定订单号,以便于之后计算染厂的折率。一般一个批次的白坯发到染厂加工会生产为多个订单,所以经过贸易公司中转后发给下游加工时单据中要记录订单号

染厂色布退坯布商

染厂加工白坯为色布成品后发现由于坯布问题需要退部分数量给坯布商,此种情况要给染厂计算足额加工费,要扣除坯布商部分加工费。在软件中的操作:

  1. 在色布管理中制作 “色布退坯布商”,表示从染厂退色布成品给我们本厂贸易公司,新生成的该单据 “色布退坯布商” 减少成品库存,在计算染厂加工费时不要减
  2. 在 “白坯管理” 中制作 “色布退坯布厂” 表示由于坯布问题将色布成品退坯布厂,不要减少坯布库存(会导致负库存),需要扣除坯布商的加工费

染色印花折率不同

染色、印花的免赔折率不同,所以要区分统计折率

期初结余

在 “财务管理 > 成品应收款” 中查看制作与客户发生往来产生的应收款,最初使用系统时通过工具栏按钮 “新增收款” 制作 “期初应收款”,项目选择 “收款”,金额输入负数应收款的数字。

更新记录

2025年9月26日

  1. 调整左侧导航菜单从上到下的顺序是:计划管理、业务流程、财务管理、辅料配件、样品管理、基础资料、系统管理
  2. 检查所有弹出对话框,关闭按钮放在右上角(如果工具栏有多个按钮则只有关闭按钮放在最右边)
  3. 订单综合查询表,点击 “订单数量” 弹出的订单明细对话框,区分显示半成品色布和复合布明细。如果是复合布订单则默认显示订单单据中下面表格(B表)的明细,默认折叠A表明细。
  4. 订单综合查询表,点击 “染厂” 栏下的 “数量” 弹出的对话框右边表格中列 “坯布商” 没有显示数据
  5. 订单综合查询表,点击 “白坯” 栏下的 “数量” 弹出的对话框在现有表格下面新增表格,默认显示该笔白坯发染厂单据日期之前的该坯布商的入库明细,用于查询坯布入库数量和单价,这里可修改单价,注意应用权限