|
|
@@ -0,0 +1,256 @@
|
|
|
+package restcontroller.crm.manage.stock;
|
|
|
+
|
|
|
+import beans.enterprise.Enterprise;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
+import common.Controller;
|
|
|
+import common.YosException;
|
|
|
+import common.annotation.API;
|
|
|
+import common.annotation.Param;
|
|
|
+import common.data.*;
|
|
|
+import restcontroller.R;
|
|
|
+
|
|
|
+@API(title = "美大CRM_总部_序列号调拨申请")
|
|
|
+public class skudbapply extends Controller {
|
|
|
+ public skudbapply(JSONObject content) throws YosException {
|
|
|
+ super(content);
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "美大CRM_总部_序列号调拨申请列表", type = API.Type.PageQuery, apiversion = R.ID2026041315412601.v1.class)
|
|
|
+ public String sys_enterprise_sku_dbapply_querylist() throws YosException {
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_enterprise_sku_dbapply", getTableColumnNameArrays("sys_enterprise_sku_dbapply")).setTableAlias("t1");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid_in=t2.sys_enterpriseid", "t2.enterprisename as enterprisename_in");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t1.sys_enterpriseid_out=t3.sys_enterpriseid", "t3.enterprisename as enterprisename_out");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_itemsku", "t4", "t1.sku=t4.sku");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_itemsku", "t5", "t4.itemid=t5.itemid", "itemno", "itemname", "model", "spec");
|
|
|
+ querySQL.setSiteid(siteid);
|
|
|
+ querySQL.setPage(pageSize, pageNumber);
|
|
|
+ Rows rows = querySQL.query();
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "美大CRM_总部_序列号调拨申请修改", apiversion = R.ID2026041315423401.v1.class, params = {
|
|
|
+ @Param(paramname = "sys_enterprise_sku_dbapplyid", fieldtype = FieldType.BigInt, remarks = "数据ID", isrequired = true),
|
|
|
+ @Param(paramname = "sys_enterpriseid_in", fieldtype = FieldType.BigInt, remarks = "申请调入企业ID"),
|
|
|
+ @Param(paramname = "sys_enterpriseid_out", fieldtype = FieldType.BigInt, remarks = "申请调出企业ID"),
|
|
|
+ @Param(paramname = "sku", fieldtype = FieldType.Varchar, remarks = "申请调拨序列号"),
|
|
|
+ @Param(paramname = "remarks", fieldtype = FieldType.Varchar, remarks = "备注")})
|
|
|
+ public String sys_enterprise_sku_dbapply_modify() throws YosException {
|
|
|
+ long sys_enterprise_sku_dbapplyid = content.getLong("sys_enterprise_sku_dbapplyid");
|
|
|
+ long sys_enterpriseid_in = content.getLongValue("sys_enterpriseid_in");// 申请调入企业ID
|
|
|
+ long sys_enterpriseid_out = content.getLongValue("sys_enterpriseid_out");// 申请调出企业ID
|
|
|
+ String sku = content.getStringValue("sku");// 申请调拨序列号
|
|
|
+ String remarks = content.getStringValue("remarks");// 备注
|
|
|
+ Row row = SQLFactory.getRow(this, "sys_enterprise_sku_dbapply", sys_enterprise_sku_dbapplyid);
|
|
|
+ if (row.isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("数据不存在").toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!row.getString("status").equals("提交")) {
|
|
|
+ return getErrReturnObject().setErrMsg("当前状态不可修改").toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ SQLDump sqldump = new SQLDump();
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_enterprise_sku_dbapply");
|
|
|
+ updateSQL.setValue("sys_enterpriseid_in", sys_enterpriseid_in);// 申请调入企业ID
|
|
|
+ updateSQL.setValue("sys_enterpriseid_out", sys_enterpriseid_out);// 申请调出企业ID
|
|
|
+ updateSQL.setValue("sku", sku);// 申请调拨序列号
|
|
|
+ updateSQL.setValue("remarks", remarks);// 备注
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
+ updateSQL.setUniqueid(sys_enterprise_sku_dbapplyid);
|
|
|
+ sqldump.add(updateSQL);
|
|
|
+ sqldump.commit();
|
|
|
+ return getSucReturnObject().toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "企业序列号调拨申请_修改", apiversion = R.ID2026041409262901.v1.class, params = {
|
|
|
+ @Param(paramname = "sys_enterprise_sku_dbapplyid", fieldtype = FieldType.BigInt, remarks = "数据ID", isrequired = true),
|
|
|
+ @Param(paramname = "returnreason", fieldtype = FieldType.Varchar, remarks = "退回原因")})
|
|
|
+ public String sys_enterprise_sku_dbapply_return() throws YosException {
|
|
|
+ long sys_enterprise_sku_dbapplyid = content.getLong("sys_enterprise_sku_dbapplyid");
|
|
|
+ String returnreason = content.getStringValue("returnreason");// 退回原因
|
|
|
+ SQLDump sqldump = new SQLDump();
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_enterprise_sku_dbapply");
|
|
|
+ updateSQL.setValue("status", "新建");// 状态
|
|
|
+ updateSQL.setValue("returnreason", returnreason);// 状态
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
+ updateSQL.setUniqueid(sys_enterprise_sku_dbapplyid);
|
|
|
+ sqldump.add(updateSQL);
|
|
|
+ sqldump.commit();
|
|
|
+ return getSucReturnObject().toString();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @API(title = "美大CRM_总部_序列号调拨申请审核", apiversion = R.ID2026041315465101.v1.class, params = {
|
|
|
+ @Param(paramname = "sys_enterprise_sku_dbapplyid", fieldtype = FieldType.BigInt, remarks = "数据ID", isrequired = true)})
|
|
|
+ public String sys_enterprise_sku_dbapply_check() throws YosException {
|
|
|
+ long sys_enterprise_sku_dbapplyid = content.getLong("sys_enterprise_sku_dbapplyid");
|
|
|
+ Row row = SQLFactory.getRow(this, "sys_enterprise_sku_dbapply", sys_enterprise_sku_dbapplyid);
|
|
|
+ if (row.isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("数据不存在").toString();
|
|
|
+ }
|
|
|
+ if (!row.getString("status").equals("提交")) {
|
|
|
+ return getErrReturnObject().setErrMsg("当前状态不可审核").toString();
|
|
|
+ }
|
|
|
+ long sys_enterpriseid_in = row.getLong("sys_enterpriseid_in");
|
|
|
+ long sys_enterpriseid_out = row.getLong("sys_enterpriseid_out");
|
|
|
+ String sku = row.getString("sku");
|
|
|
+ if (sku.isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("申请调拨序列号为空").toString();
|
|
|
+ }
|
|
|
+ Rows skuRows = SQLFactory.createQuerySQL(this, "sa_itemsku", "sys_enterpriseid", "sys_enterprise_stockid", "itemid").setSiteid(siteid).setWhere("sku", sku).query();
|
|
|
+ if (skuRows.isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("申请调拨序列号不存在").toString();
|
|
|
+ }
|
|
|
+ if (skuRows.get(0).getLong("sys_enterpriseid") != sys_enterpriseid_out) {
|
|
|
+ return getErrReturnObject().setErrMsg("申请调拨序列号当前归属经销商错误").toString();
|
|
|
+ }
|
|
|
+ if (sys_enterpriseid_in == 0) {
|
|
|
+ return getErrReturnObject().setErrMsg("申请调入企业为空").toString();
|
|
|
+ }
|
|
|
+ long itemid = skuRows.get(0).getLong("itemid");
|
|
|
+ long sys_enterprise_stockid_out = skuRows.get(0).getLong("sys_enterprise_stockid");//调出仓库
|
|
|
+ Rows stockRows = SQLFactory.createQuerySQL(this, "sys_enterprise_stock").setWhere("issystem", 1).query();
|
|
|
+ if (stockRows.isEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg("系统没有预设经销商默认仓库").toString();
|
|
|
+ }
|
|
|
+ long sys_enterprise_stockid_in = stockRows.get(0).getLong("sys_enterprise_stockid");//调入仓库
|
|
|
+
|
|
|
+ SQLDump sqldump = new SQLDump();
|
|
|
+ long stockbillid_in = 0;
|
|
|
+ long stockbillid_out = 0;
|
|
|
+ if (sys_enterprise_stockid_out > 0) {//生产出库单
|
|
|
+ Enterprise.addSiteItems(dbConnect, siteid, sys_enterpriseid_out, itemid);
|
|
|
+
|
|
|
+ Rows sys_enterprise_itemRows = SQLFactory.createQuerySQL(this, "sys_enterprise_item").setWhere("sys_enterpriseid", sys_enterpriseid_out).setWhere("itemid", itemid).query();
|
|
|
+ long sys_enterprise_itemid = sys_enterprise_itemRows.get(0).getLong("sys_enterprise_itemid");
|
|
|
+
|
|
|
+ InsertSQL stockbillSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stockbill");
|
|
|
+ stockbillSQL.setValue("siteid", siteid);// 站点
|
|
|
+ stockbillSQL.setValue("sys_enterpriseid", sys_enterpriseid_out);// 合作企业档案ID
|
|
|
+ stockbillSQL.setValue("sys_enterprise_stockid", sys_enterprise_stockid_out);// 企业仓库ID
|
|
|
+ stockbillSQL.setValue("billno", createBillCode("enterprise_stockbill"));// 单据编号
|
|
|
+ stockbillSQL.setValue("rb", 1);// 红蓝字
|
|
|
+ stockbillSQL.setValue("type", "其他出库");// 单据类型
|
|
|
+ stockbillSQL.setValue("typemx", "调拨出库");// 明细分类
|
|
|
+ stockbillSQL.setDateValue("billdate");// 单据日期
|
|
|
+ stockbillSQL.setValue("checkby", username);// 审核日期
|
|
|
+ stockbillSQL.setDateValue("checkdate");// 审核日期
|
|
|
+ stockbillSQL.setValue("status", "审核");// 状态
|
|
|
+ stockbillSQL.setValue("issystem", 1);// 是否系统生成
|
|
|
+ stockbillSQL.setValue("remarks", "调拨单号:" + row.getString("billno"));// 备注说明
|
|
|
+
|
|
|
+ stockbillid_out = stockbillSQL.getUniqueid();
|
|
|
+
|
|
|
+ InsertSQL stockbill_itemsSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stockbill_items");
|
|
|
+ stockbill_itemsSQL.setValue("siteid", siteid);// 站点
|
|
|
+ stockbill_itemsSQL.setValue("sys_enterpriseid", sys_enterpriseid_out);// 合作企业档案ID
|
|
|
+ stockbill_itemsSQL.setValue("sys_enterprise_stockbillid", stockbillid_out);// 企业出入库单ID
|
|
|
+ stockbill_itemsSQL.setValue("sys_enterprise_itemid", sys_enterprise_itemid);// 企业商品档案表ID
|
|
|
+ stockbill_itemsSQL.setValue("itemno", sys_enterprise_itemRows.get(0).getString("itemno"));// 产品编号
|
|
|
+ stockbill_itemsSQL.setValue("model", sys_enterprise_itemRows.get(0).getString("model"));// 型号
|
|
|
+ stockbill_itemsSQL.setValue("itemname", sys_enterprise_itemRows.get(0).getString("itemname"));// 产品名称
|
|
|
+ stockbill_itemsSQL.setValue("skucontrol", 1);// 是否单品管理
|
|
|
+ stockbill_itemsSQL.setValue("qty", 1);// 数量
|
|
|
+
|
|
|
+ InsertSQL stockbill_skusSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stockbill_skus");
|
|
|
+ stockbill_skusSQL.setValue("siteid", siteid);// 站点
|
|
|
+ stockbill_skusSQL.setValue("sku", sku);// 序列号
|
|
|
+ stockbill_skusSQL.setValue("sys_enterprise_stockbillid", stockbillid_out);// 企业出入库单ID
|
|
|
+ stockbill_skusSQL.setValue("sys_enterprise_stockbill_itemsid", stockbill_itemsSQL.getUniqueid());// 企业出入库单货品明细
|
|
|
+ stockbill_skusSQL.setValue("sys_enterpriseid", sys_enterpriseid_out);// 合作企业档案ID
|
|
|
+
|
|
|
+
|
|
|
+ UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(this, "sys_enterprise_invbal");
|
|
|
+ invbalUpdate.addValue("qty", -1);
|
|
|
+ invbalUpdate.setWhere("sys_enterpriseid", sys_enterpriseid_out);
|
|
|
+ invbalUpdate.setWhere("sys_enterprise_stockid", sys_enterprise_stockid_out);
|
|
|
+ invbalUpdate.setWhere("sys_enterprise_itemid", sys_enterprise_itemid);
|
|
|
+
|
|
|
+ sqldump.add(stockbillSQL);
|
|
|
+ sqldump.add(stockbill_itemsSQL);
|
|
|
+ sqldump.add(stockbill_skusSQL);
|
|
|
+ sqldump.add(invbalUpdate);
|
|
|
+ }
|
|
|
+ //调入
|
|
|
+ {
|
|
|
+ Enterprise.addSiteItems(dbConnect, siteid, sys_enterpriseid_in, itemid);
|
|
|
+ Rows sys_enterprise_itemRows = SQLFactory.createQuerySQL(this, "sys_enterprise_item").setWhere("sys_enterpriseid", sys_enterpriseid_in).setWhere("itemid", itemid).query();
|
|
|
+ long sys_enterprise_itemid = sys_enterprise_itemRows.get(0).getLong("sys_enterprise_itemid");
|
|
|
+
|
|
|
+ InsertSQL stockbillSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stockbill");
|
|
|
+ stockbillSQL.setValue("siteid", siteid);// 站点
|
|
|
+ stockbillSQL.setValue("sys_enterpriseid", sys_enterpriseid_in);// 合作企业档案ID
|
|
|
+ stockbillSQL.setValue("sys_enterprise_stockid", sys_enterprise_stockid_in);// 企业仓库ID
|
|
|
+ stockbillSQL.setValue("billno", createBillCode("enterprise_stockbill"));// 单据编号
|
|
|
+ stockbillSQL.setValue("rb", 1);// 红蓝字
|
|
|
+ stockbillSQL.setValue("type", "其他入库");// 单据类型
|
|
|
+ stockbillSQL.setValue("typemx", "调拨入库");// 明细分类
|
|
|
+ stockbillSQL.setDateValue("billdate");// 单据日期
|
|
|
+ stockbillSQL.setValue("checkby", username);// 审核日期
|
|
|
+ stockbillSQL.setDateValue("checkdate");// 审核日期
|
|
|
+ stockbillSQL.setValue("status", "审核");// 状态
|
|
|
+ stockbillSQL.setValue("issystem", 1);// 是否系统生成
|
|
|
+ stockbillSQL.setValue("remarks", "调拨单号:" + row.getString("billno"));// 备注说明
|
|
|
+ stockbillid_in = stockbillSQL.getUniqueid();
|
|
|
+
|
|
|
+ InsertSQL stockbill_itemsSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stockbill_items");
|
|
|
+ stockbill_itemsSQL.setValue("siteid", siteid);// 站点
|
|
|
+ stockbill_itemsSQL.setValue("sys_enterpriseid", sys_enterpriseid_in);// 合作企业档案ID
|
|
|
+ stockbill_itemsSQL.setValue("sys_enterprise_stockbillid", stockbillid_in);// 企业出入库单ID
|
|
|
+ stockbill_itemsSQL.setValue("sys_enterprise_itemid", sys_enterprise_itemid);// 企业商品档案表ID
|
|
|
+ stockbill_itemsSQL.setValue("itemno", sys_enterprise_itemRows.get(0).getString("itemno"));// 产品编号
|
|
|
+ stockbill_itemsSQL.setValue("model", sys_enterprise_itemRows.get(0).getString("model"));// 型号
|
|
|
+ stockbill_itemsSQL.setValue("itemname", sys_enterprise_itemRows.get(0).getString("itemname"));// 产品名称
|
|
|
+ stockbill_itemsSQL.setValue("skucontrol", 1);// 是否单品管理
|
|
|
+ stockbill_itemsSQL.setValue("qty", 1);// 数量
|
|
|
+
|
|
|
+ InsertSQL stockbill_skusSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stockbill_skus");
|
|
|
+ stockbill_skusSQL.setValue("siteid", siteid);// 站点
|
|
|
+ stockbill_skusSQL.setValue("sku", sku);// 序列号
|
|
|
+ stockbill_skusSQL.setValue("sys_enterprise_stockbillid", stockbillid_in);// 企业出入库单ID
|
|
|
+ stockbill_skusSQL.setValue("sys_enterprise_stockbill_itemsid", stockbill_itemsSQL.getUniqueid());// 企业出入库单货品明细
|
|
|
+ stockbill_skusSQL.setValue("sys_enterpriseid", sys_enterpriseid_in);// 合作企业档案ID
|
|
|
+
|
|
|
+
|
|
|
+ InsertSQL invbalInsert = SQLFactory.createInsertSQL(this, "sys_enterprise_invbal");
|
|
|
+ invbalInsert.setSiteid(siteid);
|
|
|
+ invbalInsert.setValue("qty", 0);
|
|
|
+ invbalInsert.setValue("sys_enterpriseid", sys_enterpriseid_in);
|
|
|
+ invbalInsert.setValue("sys_enterprise_stockid", sys_enterprise_stockid_in);
|
|
|
+ invbalInsert.setValue("sys_enterprise_itemid", sys_enterprise_itemid);
|
|
|
+ invbalInsert.setWhere("not exists(select * from sys_enterprise_invbal where siteid='" + siteid + "' " + "and sys_enterpriseid=" + sys_enterpriseid + " " + "and sys_enterprise_stockid=" + sys_enterprise_stockid_in + " " + "and sys_enterprise_itemid=" + sys_enterprise_itemid + ")");
|
|
|
+
|
|
|
+ UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(this, "sys_enterprise_invbal");
|
|
|
+ invbalUpdate.addValue("qty", 1);
|
|
|
+ invbalUpdate.setWhere("sys_enterpriseid", sys_enterpriseid_in);
|
|
|
+ invbalUpdate.setWhere("sys_enterprise_stockid", sys_enterprise_stockid_in);
|
|
|
+ invbalUpdate.setWhere("sys_enterprise_itemid", sys_enterprise_itemid);
|
|
|
+
|
|
|
+ sqldump.add(stockbillSQL);
|
|
|
+ sqldump.add(stockbill_itemsSQL);
|
|
|
+ sqldump.add(stockbill_skusSQL);
|
|
|
+ sqldump.add(invbalInsert);
|
|
|
+ sqldump.add(invbalUpdate);
|
|
|
+ }
|
|
|
+ UpdateSQL skuUpdate = SQLFactory.createUpdateSQL(this, "sys_enterprise_sku");
|
|
|
+ skuUpdate.setValue("sys_enterpriseid", sys_enterpriseid_in);
|
|
|
+ skuUpdate.setValue("sys_enterprise_stockid", sys_enterprise_stockid_in);
|
|
|
+ skuUpdate.setSiteid(siteid);
|
|
|
+ skuUpdate.setWhere("sku", sku);
|
|
|
+ sqldump.add(skuUpdate);
|
|
|
+
|
|
|
+ UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_enterprise_sku_dbapply");
|
|
|
+ updateSQL.setValue("status", "审核");
|
|
|
+ updateSQL.setValue("checkby", username);
|
|
|
+ updateSQL.setValue("stockbillid_out", stockbillid_out);
|
|
|
+ updateSQL.setValue("stockbillid_in", stockbillid_in);
|
|
|
+ updateSQL.setDateValue("checkdate");
|
|
|
+ updateSQL.setSiteid(siteid);
|
|
|
+ updateSQL.setUniqueid(sys_enterprise_sku_dbapplyid);
|
|
|
+ sqldump.add(updateSQL);
|
|
|
+ sqldump.commit();
|
|
|
+ return getSucReturnObject().toString();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|