银海印花
大约 3 分钟客户资料
更新必读
客户订单明细表
该表有 dto ,没有 vo,有表结构变更需要同时更新 dto
定制功能
完工报警推送微信消息
在染厂项目中制作了定时任务 Schedule.java 检测需要推送的数据发送请求给微信后台服务 https://新东方染厂微信云域名/wxpadbe/dev/pushTmpMsg2MillFactory 微信后台通过下面语句获取本厂的所有微信号推送报警消息,所以和用户表的 receive 权限无关
select * from user_weixin where qr_scene_str like concat(#{millName},'%本厂');
硬件相关
老服务器:192.168.1.200 新服务器:192.168.1.254 虚拟机CentOS7 :192.168.1.244
软件相关
80%客户是经销,白坯调拨工作量大,要求工作细致,后来商定按照业务员分,白坯入库时按照业务员入库,开订单时候通过别名区分具体客户,要求标签、细码单、发货单打印具体客户名(订单中的别名)。暂时考虑折率可能有问题。
工具
各班组工序产量
下面SQL来自于“员工产量汇总表”的存储过程 p_EmpGatherOutput,将业务代码独立出来形成
# 2021年4月10日 12:43:40
# 银海印花统计时间段内各部门班组工序产量
# 设置下面的 @startt 和 @endt 为起始日期和终止日期进行查询
DELIMITER $$
SET @startt='2021-04-09 07:30:00';
SET @endt='2021-04-10 07:30:00';
SELECT
a.depName,
a.empName,
a.processName,
sum(ifnull(a.qtyFact, 0)) qtyFact,
sum(ifnull(a.pieceFact, 0)) pieceFact,
sum(a.B_GS) B_GS
FROM (
# 非染色刷卡产量汇总
SELECT f.classGroup className,
e.name depName, -- 班次,班组
b.B_People empName, -- 员工名
a.B_ProcessName processName, -- 工序名
g.name tintingName, -- 染色方式
c.colorClothName colorClothName, -- 品名
c.colorClothId colorClothId, -- 品种
cast(sum(if(k.B_Value = 0, if(ifnull(c.B_QtyFact, 0) = 0, ifnull(c.kilogram, 0),
ifnull(c.B_QtyFact, 0)), ifnull(c.kilogram, 0)) *
ifnull(a.B_Ratio, 0) / ifnull(a.B_PeopleNumber, 1)) AS DECIMAL(30, 2)) qtyFact, -- 实际公斤
cast(sum(if(k.B_Value = 0, if(ifnull(c.B_PiShuFact, 0) = 0, ifnull(c.piece, 0),
ifnull(c.B_PiShuFact, 0)), ifnull(c.piece, 0)) *
ifnull(a.B_Ratio, 0) / ifnull(a.B_PeopleNumber, 1)) AS DECIMAL(30, 2)) pieceFact, -- 实际匹数
0 price, -- 单价
0 salary, -- 工资
round(sum(a.B_GS * a.B_Ratio / ifnull(a.B_PeopleNumber, 1)), 1) B_GS -- 缸数
FROM g_cjflowbilldetailprocess a
LEFT JOIN g_cjflowbilldetailpeople b ON a.B_ItemID = b.B_ID
LEFT JOIN plan c ON a.B_ID = c.vatNum
LEFT JOIN employee d ON b.B_People = d.name
LEFT JOIN department e ON d.departmentSid = e.sId
LEFT JOIN `class` f ON d.classSid = f.sId
LEFT JOIN tintingtype g ON c.tintingTypeId = g.sId
JOIN (SELECT ifnull(B_Value, 0) B_Value
FROM g_config_oneint
WHERE B_GroupName = 'WEB应用_员工产量计算方式') k
WHERE c.status = 1
AND (isnull(a.B_HardWareID) OR length(trim(a.B_HardWareID)) <= 0)
AND a.B_Date BETWEEN @startt AND @endt
GROUP BY c.tintingTypeId, c.colorClothId, c.id, a.B_ProcessName, b.B_People
UNION ALL
# 打卷刷卡产量汇总
SELECT f.classGroup className,
e.name depName, -- 班次,班组
b.B_PeopleName empName, -- 员工名
'打卷' processName, -- 工序名
g.name tintingName, -- 染色方式
c.colorClothName, -- 品名
c.colorClothId, -- 品名
cast(if(k.B_Value = 0, ifnull(y.B_GJ, 0) / ifnull(x.B_GJ, 1) *
if(ifnull(c.B_QtyFact, 0) = 0, ifnull(c.kilogram, 0),
ifnull(c.B_QtyFact, 0)),
ifnull(y.B_GJ, 0) / ifnull(x.B_GJ, 0) * ifnull(c.kilogram, 0)) /
ifnull(a.B_StrStaffNumber, 1) AS DECIMAL(30, 2)) qtyFact, -- 实际公斤
cast(if(k.B_Value = 0, ifnull(y.B_PS, 0) / ifnull(x.B_PS, 1) *
if(ifnull(c.B_PiShuFact, 0) = 0, ifnull(c.piece, 0),
ifnull(c.B_PiShuFact, 0)),
ifnull(y.B_PS, 0) / ifnull(x.B_PS, 1) * ifnull(c.piece, 0)) /
ifnull(a.B_StrStaffNumber, 1) AS DECIMAL(30, 2)) pieceFact, -- 实际匹数
0 price, -- 单价
0 salary, -- 工资
0 B_GS -- 缸数
FROM (SELECT count(B_itemId) piece,
ifnull(sum(B_GJ), 0) B_GJ,
B_StrStaffName,
B_StrStaffNumber,
B_ID,
B_DTRK,
B_ItemID
FROM g_jrkbill
GROUP BY B_ID, B_StrStaffName, B_DTRK) a
LEFT JOIN g_djpeople b ON a.B_StrStaffName = b.B_StrPeople
LEFT JOIN plan c ON a.B_ID = c.id
LEFT JOIN employee d ON b.B_PeopleName = d.name
LEFT JOIN department e ON d.departmentSid = e.sId
LEFT JOIN class f ON d.classSid = f.sId
LEFT JOIN tintingtype g ON c.tintingTypeId = g.sId
LEFT JOIN (SELECT B_ID, ifnull(sum(B_GJ), 0) B_GJ, count(*) B_PS, ifnull(sum(B_MS), 0) B_MS
FROM g_jrkbill
GROUP BY B_ID) x ON x.B_ID = c.id
LEFT JOIN (SELECT B_ID,
ifnull(sum(B_GJ), 0) B_GJ,
count(*) B_PS,
B_StrStaffName,
ifnull(sum(B_MS), 0) B_MS
FROM g_jrkbill
WHERE B_DTRK BETWEEN @startt AND @endt
GROUP BY B_ID, B_StrStaffName) y
ON y.B_StrStaffName = a.B_StrStaffName AND c.id = y.B_ID
JOIN (SELECT ifnull(B_Value, 0) B_Value
FROM g_config_oneint
WHERE B_GroupName = 'WEB应用_员工产量计算方式') k
WHERE c.`status` = 1
AND a.B_ItemID IS NOT NULL
AND a.B_DTRK BETWEEN @startt AND @endt
GROUP BY c.tintingTypeId, c.colorClothId, c.id, b.B_PeopleName) a
WHERE empName IS NOT NULL
GROUP BY a.processName, a.empName
ORDER by a.depName,a.empName,a.processName;$$
DELIMITER ;
在 2021年4月11日 13:19:24 使用上面代码创建了存储过程,之后可以这样查看产量
CALL usp_getDepYield('2021-04-10 07:30:00','2021-04-11 07:30:00');
