| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279 |
- package restcontroller.webmanage.sale.sendrepair;
- import beans.accountbalance.Accountbalance;
- import beans.accountbalance.CashbillEntity;
- import beans.data.BatchDeleteErr;
- import beans.datacontrllog.DataContrlLog;
- import com.alibaba.fastjson2.JSONArray;
- import com.alibaba.fastjson2.JSONObject;
- import common.Controller;
- import common.YosException;
- import common.annotation.API;
- import common.annotation.CACHEING;
- import common.annotation.CACHEING_CLEAN;
- import common.data.*;
- import org.apache.commons.lang.StringUtils;
- import restcontroller.R;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- @API(title = "送修单")
- public class sendrepair extends Controller {
- public sendrepair(JSONObject content) throws YosException {
- super(content);
- }
- @API(title = "送修单更新", apiversion = R.ID2025070414202703.v1.class, intervaltime = 200)
- @CACHEING_CLEAN(apiClass = {sendrepair.class})
- public String insertormodify_sendrepair() throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- // 表名
- String tableName = "sa_sendrepair";
- Long sa_sendrepairid = content.getLong("sa_sendrepairid");
- // String type = content.getString("type");
- // String typemx = content.getStringValue("typemx");
- // Long sa_orderid = content.getLong("sa_orderid");
- // BigDecimal rebate_userate =content.getBigDecimalValue("rebate_userate");
- // BigDecimal returnamount = content.getBigDecimalValue("returnamount");
- // Long sa_accountclassid = content.getLong("sa_accountclassid");
- // String reason = content.getStringValue("reason");
- // boolean isitemreturn = content.getBooleanValue("isitemreturn");
- //// String logisticno = content.getStringValue("logisticno");
- if (sa_sendrepairid > 0 && dbConnect.runSqlQuery(
- "select sa_sendrepairid from sa_sendrepair where sa_sendrepairid=" + sa_sendrepairid)
- .isNotEmpty()) {
- Rows rows = dbConnect.runSqlQuery(
- "SELECT status from sa_sendrepair WHERE sa_sendrepairid = "
- + sa_sendrepairid);
- if (rows.isNotEmpty()) {
- if (rows.get(0).getString("status").equals("新建")) {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, tableName);
- updateSQL.setUniqueid(sa_sendrepairid);
- updateSQL.setSiteid(siteid);
- updateSQL.setValue("remarks", content.getStringValue("remarks"));
- updateSQL.setDateValue("changedate");
- sqlList.add(updateSQL.getSQL());
- sqlList.add(DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "更新", "送修单更新成功")
- .getSQL());
- } else {
- // return getErrReturnObject().setErrMsg("非新建状态下无法编辑").toString();
- }
- } else {
- return getErrReturnObject().setErrMsg("该送修单不存在").toString();
- }
- }
- Rows sendrepairdetailRows =dbConnect.runSqlQuery("select sa_sendrepair_detailid from sa_sendrepair_detail where siteid='"+siteid+"' and sa_sendrepairid="+sa_sendrepairid);
- if(sendrepairdetailRows.isEmpty()){
- return getErrReturnObject().setErrMsg("该送修单表体不存在").toString();
- }
- UpdateSQL UpdateSQLdetail = SQLFactory.createUpdateSQL(this, "sa_sendrepair_detail");
- UpdateSQLdetail.setUniqueid(sendrepairdetailRows.get(0).getLong("sa_sendrepair_detailid"));
- UpdateSQLdetail.setSiteid(siteid);
- UpdateSQLdetail.setValue("duty", content.getStringValue("duty"));
- UpdateSQLdetail.setValue("reason", content.getStringValue("reason"));
- UpdateSQLdetail.setValue("demand", content.getStringValue("demand"));
- UpdateSQLdetail.setValue("remarks", content.getStringValue("remarksdetail"));
- UpdateSQLdetail.setValue("disposition", content.getStringValue("disposition"));
- UpdateSQLdetail.setValue("idearemarks", content.getStringValue("idearemarks"));
- UpdateSQLdetail.setValue("agentcost", content.getBigDecimal("agentcost"));
- UpdateSQLdetail.setValue("logisticscost", content.getBigDecimal("logisticscost"));
- UpdateSQLdetail.setValue("logistics", content.getStringValue("logistics"));
- UpdateSQLdetail.setValue("price", content.getStringValue("price"));
- UpdateSQLdetail.setValue("newitemid", content.getStringValue("newitemid"));
- UpdateSQLdetail.setValue("newitemno", content.getStringValue("newitemno"));
- UpdateSQLdetail.setValue("newitemname", content.getStringValue("newitemname"));
- UpdateSQLdetail.setValue("newspec", content.getStringValue("newspec"));
- UpdateSQLdetail.setValue("newsku", content.getStringValue("newsku"));
- sqlList.add(UpdateSQLdetail.getSQL());
- dbConnect.runSqlUpdate(sqlList);
- content.put("sa_sendrepairid", sa_sendrepairid);
- return querysendrepairMain();
- }
- @API(title = "送修单详情", apiversion = R.ID2025070414204203.v1.class)
- @CACHEING
- public String querysendrepairMain() throws YosException {
- Long sa_sendrepairid = content.getLong("sa_sendrepairid");
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_sendrepair", "*");
- querySQL.setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename");
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
- querySQL.addJoinTable(JOINTYPE.left, "sa_sendrepair_detail", "t4", "t1.sa_sendrepairid = t4.sa_sendrepairid AND t1.siteid = t4.siteid","newspec","newitemno","newitemname",
- "newitemid","newsku","agentcost","practicalamount","amount","logisticscost","logistics","idearemarks","disposition","demand","reason","duty",
- "stockdate","enddate","phonenumber","name","qty","itemid","sku","price");
- querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t5", "t5.itemid = t4.itemid AND t5.siteid = t4.siteid","itemname","itemno","spec","model");
- querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t6", "t5.unitid = t6.unitid AND t5.siteid = t6.siteid","unitname");
- querySQL.addQueryFields("remarksdetail","t4.remarks");
- querySQL.setSiteid(siteid);
- querySQL.setWhere("t1.sa_sendrepairid",sa_sendrepairid);
- querySQL.setPage(pageSize, pageNumber);
- Rows rows = querySQL.query();
- Rows stockbillrows = dbConnect.runSqlQuery("select * from st_stockbill where sourceid='"+sa_sendrepairid+"' and sourceobject='sa_sendrepair'");
- QuerySQL querySumSQL = SQLFactory.createQuerySQL(this, "sa_sendrepair_pj", "sa_sendrepairid");
- querySumSQL.setTableAlias("t1");
- querySumSQL.setSiteid(siteid);
- querySumSQL.addQueryFields("amount", "sum(amount)");
- querySumSQL.setWhere("t1.sa_sendrepairid",rows.toArrayList("sa_sendrepairid", new ArrayList<Long>()));
- querySumSQL.addGroupBy("sa_sendrepairid");
- RowsMap querySumRowsMap =querySumSQL.query().toRowsMap("sa_sendrepairid");
- for (Row row :rows){
- row.put("stockbillrows",stockbillrows);
- if(querySumRowsMap.containsKey(row.getString("sa_sendrepairid"))){
- row.put("ysamount",querySumRowsMap.get(row.getString("sa_sendrepairid")).get(0).getBigDecimal("amount"));
- }
- }
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "查询送修单列表", apiversion = R.ID2025070414205403.v1.class)
- @CACHEING
- public String querysendrepairList() throws YosException {
- StringBuffer where = new StringBuffer(" 1=1 ");
- if (content.containsKey("where")) {
- JSONObject whereObject = content.getJSONObject("where");
- if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
- where.append(" and(");
- where.append("t1.billno like'%").append(whereObject.getString("condition")).append("%' ");
- where.append("or t2.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
- where.append(")");
- }
- if (whereObject.containsKey("begindate") && !"".equals(whereObject.getString("begindate"))) {
- // if(content.getString("type").equals("借用归还单")) {
- // where.append(" and t1.createdate >='" + whereObject.getString("startdate")).append("' ");
- // }else if(content.getString("type").equals("退货单")) {
- // where.append(" and t1.checkdate >='" + whereObject.getString("startdate")).append("' ");
- // }
- where.append(" and t1.billdate >='" + whereObject.getString("begindate")).append("' ");
- }
- if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
- // if(content.getString("type").equals("借用归还单")) {
- // where.append(" and t1.createdate <='" + whereObject.getString("enddate")).append("' ");
- // }else if(content.getString("type").equals("退货单")) {
- // where.append(" and t1.checkdate <='" + whereObject.getString("enddate")).append("' ");
- // }
- where.append(" and t1.billdate <='" + whereObject.getString("enddate")).append(" 23:59:59'");
- }
- if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
- where.append(" and t1.status ='").append(whereObject.getString("status")).append("' ");
- }
- }
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_sendrepair", "*");
- querySQL.setTableAlias("t1");
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename");
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
- querySQL.addJoinTable(JOINTYPE.left, "sa_sendrepair_detail", "t4", "t1.sa_sendrepairid = t4.sa_sendrepairid AND t1.siteid = t4.siteid","newspec","newitemno","newitemname",
- "newitemid","newsku","agentcost","practicalamount","instockdate","amount","logisticscost","logistics","idearemarks","disposition","demand","reason","duty",
- "stockdate","enddate","phonenumber","name","qty","itemid","sku","price");
- querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t5", "t5.itemid = t4.itemid AND t5.siteid = t4.siteid","itemname","itemno","spec","model");
- querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t6", "t5.unitid = t6.unitid AND t5.siteid = t6.siteid","unitname");
- querySQL.addQueryFields("remarksdetail","t4.remarks");
- querySQL.setSiteid(siteid);
- querySQL.setWhere(where.toString());
- querySQL.setOrderBy("t1.sa_sendrepairid desc");
- querySQL.setPage(pageSize, pageNumber);
- Rows rows = querySQL.query();
- QuerySQL querySumSQL = SQLFactory.createQuerySQL(this, "sa_sendrepair_pj", "sa_sendrepairid");
- querySumSQL.setTableAlias("t1");
- querySumSQL.setSiteid(siteid);
- querySumSQL.addQueryFields("amount", "sum(amount)");
- querySumSQL.setWhere("t1.sa_sendrepairid",rows.toArrayList("sa_sendrepairid", new ArrayList<Long>()));
- querySumSQL.addGroupBy("sa_sendrepairid");
- RowsMap querySumRowsMap =querySumSQL.query().toRowsMap("sa_sendrepairid");
- for (Row row :rows){
- if(querySumRowsMap.containsKey(row.getString("sa_sendrepairid"))){
- row.put("ysamount",querySumRowsMap.get(row.getString("sa_sendrepairid")).get(0).getBigDecimal("amount"));
- }
- }
- return getSucReturnObject().setData(rows).toString();
- }
- @API(title = "删除", apiversion = R.ID2025070414210803.v1.class)
- @CACHEING_CLEAN(apiClass = {sendrepair.class})
- public String delete() throws YosException {
- JSONArray sa_sendrepairids = content.getJSONArray("sa_sendrepairids");
- BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, sa_sendrepairids.size());
- for (Object o : sa_sendrepairids) {
- long sa_sendrepairid = Long.parseLong(o.toString());
- Rows RowsStatus = dbConnect
- .runSqlQuery("select sa_sendrepairid,status,sourceid from sa_sendrepair where siteid='" + siteid
- + "' and sa_sendrepairid='" + sa_sendrepairid + "'");
- if (RowsStatus.isNotEmpty()) {
- if (!RowsStatus.get(0).getString("status").equals("新建")) {
- batchDeleteErr.addErr(sa_sendrepairid, "非新建状态的送修单无法删除");
- continue;
- }
- }
- dbConnect.runSqlUpdate("delete from sa_sendrepair where siteid='" + siteid + "' and sa_sendrepairid="
- + sa_sendrepairid);
- dbConnect.runSqlUpdate("delete from sa_sendrepair_detail where siteid='" + siteid + "' and sa_sendrepairid="
- + sa_sendrepairid);
- dbConnect.runSqlUpdate("delete from sa_sendrepair_pj where siteid='" + siteid + "' and sa_sendrepairid="
- + sa_sendrepairid);
- dbConnect.runSqlUpdate("update st_stockbill set isrepair=0 where siteid='" + siteid + "' and st_stockbillid="
- + RowsStatus.get(0).getLong("sourceid"));
- dbConnect.runSqlUpdate("update st_stockbill_items set isrepair=0 where siteid='" + siteid + "' and st_stockbillid="
- + sa_sendrepairid);
- }
- return batchDeleteErr.getReturnObject().toString();
- }
- @API(title = "确认", apiversion = R.ID2025102409585903.v1.class)
- @CACHEING_CLEAN(apiClass = {sendrepair.class})
- public String confirm() throws YosException {
- Long sa_sendrepairid = content.getLong("sa_sendrepairid");
- boolean isconfirm = content.getBooleanValue("isconfirm");
- Rows rows = dbConnect.runSqlQuery("select t1.billno,t1.status,t2.reason,t2.disposition from sa_sendrepair t1 inner join sa_sendrepair_detail t2 on t1.sa_sendrepairid=t2.sa_sendrepairid where t1.sa_sendrepairid ='"
- + sa_sendrepairid + "' and t1.siteid='" + siteid + "'");
- for (Row row : rows) {
- if (isconfirm) {
- if (!row.getString("status").equals("新建")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非新建状态,无法确认")
- .toString();
- }
- if (StringUtils.isBlank(row.getString("reason")) || StringUtils.isBlank(row.getString("disposition")) ) {
- return getErrReturnObject().setErrMsg("原因分析,处理意见必填")
- .toString();
- }
- } else {
- if (!row.getString("status").equals("确认")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非确认状态,无法反确认")
- .toString();
- }
- }
- }
- ArrayList<String> sqlList = new ArrayList<>();
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_sendrepair");
- updateSQL.setUniqueid(sa_sendrepairid);
- updateSQL.setSiteid(siteid);
- if (isconfirm) {
- updateSQL.setValue("status","确认");
- updateSQL.setValue("confirmby",username);
- updateSQL.setDateValue("confirmdate");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "确认", "送修单确认成功").getSQL());
- } else {
- updateSQL.setValue("status","新建");
- updateSQL.setValue("confirmby","");
- updateSQL.setValue("confirmdate","null");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "反确认", "送修单反确认成功").getSQL());
- }
- sqlList.add(updateSQL.getSQL());
- dbConnect.runSqlUpdate(sqlList);
- return getSucReturnObject().toString();
- }
- @API(title = "进仓", apiversion = R.ID2025102413280503.v1.class)
- @CACHEING_CLEAN(apiClass = {sendrepair.class})
- public String instock() throws YosException {
- Long sa_sendrepairid = content.getLong("sa_sendrepairid");
- boolean isinstock = content.getBooleanValue("isinstock");
- Rows rows = dbConnect.runSqlQuery("select t1.sa_sendrepairid,t1.sys_enterpriseid,t1.remarks,t1.billno,t1.status,t2.qty,t2.sa_sendrepair_detailid,t2.reason,t2.disposition,t2.newitemno,t2.newsku,t2.newitemid,t2.sku,t2.name,t2.phonenumber,t2.address,t3.itemno,t2.itemid,t3.itemname,t3.model,t4.model newmodel,t4.skucontrol from sa_sendrepair t1 " +
- "inner join sa_sendrepair_detail t2 on t1.sa_sendrepairid=t2.sa_sendrepairid " +
- "left join plm_item t3 on t3.itemid=t2.itemid " +
- "left join plm_item t4 on t4.itemid=t2.newitemid " +
- " where t1.sa_sendrepairid ='"
- + sa_sendrepairid + "' and t1.siteid='" + siteid + "'");
- if(rows.isEmpty()){
- return getErrReturnObject().setErrMsg("送修单不存在")
- .toString();
- }
- Row row =rows.get(0);
- if (isinstock) {
- if (!row.getString("status").equals("确认")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非确认状态,无法进仓")
- .toString();
- }
- if (row.getString("disposition").equalsIgnoreCase(
- "翻新")) {
- if (row.getString("newitemno").equalsIgnoreCase(
- "")
- || row.getString("newsku")
- .equalsIgnoreCase("")) {
- return getErrReturnObject().setErrMsg("处理意见为翻新时应填写新的品号与新的序列号").toString();
- }
- if (row.getString("newitemid").equals(
- row.getString("itemid"))
- && row.getString("newsku")
- .equals(row
- .getString("sku"))) {
- return getErrReturnObject().setErrMsg("翻新前后序列号和品号不能相同").toString();
- }
- }
- if (row.getString("disposition").equals("待修")) {
- return getErrReturnObject().setErrMsg("待修不可进仓")
- .toString();
- }
- } else {
- if (!row.getString("status").equals("进仓")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非进仓状态,无法反进仓")
- .toString();
- }
- Rows stockbillRows = dbConnect.runSqlQuery("select type,typemx from st_stockbill where sourceid="+sa_sendrepairid+" and sourceobject='sa_sendrepair' and status='审核'");
- RowsMap stockbillRowsMap =stockbillRows.toRowsMap("type");
- if (stockbillRowsMap.containsKey("返修出库")) {
- return getErrReturnObject().setErrMsg("已生成的出库单已审核不可反进仓").toString();
- }
- if (stockbillRowsMap.containsKey("其他入库")) {
- for(Row stockbillRow :stockbillRowsMap.get("其他入库")){
- if(stockbillRow.getString("typemx").equals("正品入库")){
- return getErrReturnObject().setErrMsg("已生成的正品入库单已审核不可反进仓").toString();
- }
- }
- }
- }
- Rows departmenthrrows =dbConnect.runSqlQuery("select *from sys_departmenthrid where hrid="+hrid);
- ArrayList<String> sqlList = new ArrayList<>();
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_sendrepair");
- updateSQL.setUniqueid(sa_sendrepairid);
- updateSQL.setSiteid(siteid);
- Rows dispositionRows =dbConnect.runSqlQuery("select * from sa_aftersalesmag_disposition where disposition='"+row.getString("disposition")+"'");
- Rows stockRows =dbConnect.runSqlQuery("select * from st_stock");
- RowsMap stockRowsMap = stockRows.toRowsMap("stockno");
- if(dispositionRows.isEmpty()){
- return getErrReturnObject().setErrMsg("返修处理意见不存在")
- .toString();
- }
- if (isinstock) {
- updateSQL.setValue("status","进仓");
- updateSQL.setValue("instockby",username);
- updateSQL.setDateValue("instockdate");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "进仓", "送修单进仓成功").getSQL());
- } else {
- updateSQL.setValue("status","确认");
- updateSQL.setValue("instockby","");
- updateSQL.setValue("instockdate","null");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "反进仓", "送修单反进仓成功").getSQL());
- }
- long st_stockbillid =0;
- if(row.getString("disposition").equals("返修") || row.getString("disposition").equals("翻新")){
- if(isinstock){
- if(StringUtils.isBlank(row.getString("newitemno")) && StringUtils.isBlank(row.getString("newsku"))){
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("stockbilla"));
- insertSQL.setValue("type", "返修出库");
- insertSQL.setValue("typemx", "");
- insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty()?departmenthrrows.get(0).getLong("departmentid"):0);
- insertSQL.setValue("sys_enterpriseid",row.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sa_sendrepairid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("remarks", row.getString("remarks"));
- insertSQL.setValue("status", "新建");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setDateValue("billdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", row.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", row.getLong("itemid"));
- insertSQL.setValue("itemno", row.getString("itemno"));
- insertSQL.setValue("itemname", row.getString("itemname"));
- insertSQL.setValue("model", row.getString("model"));
- insertSQL.setValue("qty", row.getBigDecimal("qty"));
- insertSQL.setValue("sku", row.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(row.getString("sku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", row.getLong("itemid"));
- insertSQL.setValue("sku", row.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- }else if(!row.getString("newsku").equals(row.getString("sku"))){
- sqlList.addAll(updatefmachinecode(isinstock,row,stockRowsMap));
- sqlList.addAll(updatefnewmachinecode(isinstock,row,stockRowsMap));
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("stockbilla"));
- insertSQL.setValue("type", "返修出库");
- insertSQL.setValue("typemx", "");
- insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty()?departmenthrrows.get(0).getLong("departmentid"):0);
- insertSQL.setValue("sys_enterpriseid",row.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sa_sendrepairid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("remarks", row.getString("remarks"));
- insertSQL.setValue("status", "新建");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setDateValue("billdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", row.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", row.getLong("newitemid"));
- insertSQL.setValue("itemno", row.getString("newitemno"));
- insertSQL.setValue("itemname", row.getString("newitemname"));
- insertSQL.setValue("model", row.getString("newmodel"));
- insertSQL.setValue("qty", row.getBigDecimal("qty"));
- insertSQL.setValue("sku", row.getString("newsku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(row.getString("newsku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", row.getLong("newitemid"));
- insertSQL.setValue("sku", row.getString("newsku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- }else if(!row.getString("itemid").equals(row.getString("newitemid"))){
- sqlList.addAll(updatefitemno(isinstock,row));
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("stockbilla"));
- insertSQL.setValue("type", "返修出库");
- insertSQL.setValue("typemx", "");
- insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty()?departmenthrrows.get(0).getLong("departmentid"):0);
- insertSQL.setValue("sys_enterpriseid",row.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sa_sendrepairid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("remarks", row.getString("remarks"));
- insertSQL.setValue("status", "新建");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setDateValue("billdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", row.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", row.getLong("newitemid"));
- insertSQL.setValue("itemno", row.getString("newitemno"));
- insertSQL.setValue("itemname", row.getString("newitemname"));
- insertSQL.setValue("model", row.getString("newmodel"));
- insertSQL.setValue("qty", row.getBigDecimal("qty"));
- insertSQL.setValue("sku", row.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(row.getString("sku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", row.getLong("newitemid"));
- insertSQL.setValue("sku", row.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- }
- }else{
- if(StringUtils.isBlank(row.getString("newitemno")) && StringUtils.isBlank(row.getString("newsku"))){
- } else if(!row.getString("newsku").equals(row.getString("sku"))){
- sqlList.addAll(updatefmachinecode(isinstock,row,stockRowsMap));
- sqlList.addAll(updatefnewmachinecode(isinstock,row,stockRowsMap));
- } else if(!row.getString("itemid").equals(row.getString("newitemid"))){
- sqlList.addAll(updatefitemno(isinstock,row));
- }
- }
- }
- // 是否进成品仓
- if(dispositionRows.get(0).getBoolean("inishedstock")){
- if (isinstock) {
- sqlList.addAll(updatefmachinecode(isinstock,row,stockRowsMap));
- sqlList.addAll(infinishedstock(isinstock,row));
- } else {
- sqlList.addAll(infinishedstock(isinstock,row));
- sqlList.addAll(updatefmachinecode(isinstock,row,stockRowsMap));
- }
- }
- // 是否进报废仓
- if(dispositionRows.get(0).getBoolean("scrapstock")){
- if (isinstock) {
- sqlList.addAll(updatefmachinecode(isinstock,row,stockRowsMap));
- sqlList.addAll(inscrapstock(isinstock,row,stockRowsMap));
- } else {
- sqlList.addAll(inscrapstock(isinstock,row,stockRowsMap));
- sqlList.addAll(updatefmachinecode(isinstock,row,stockRowsMap));
- }
- }
- if(!isinstock){
- sqlList.add("delete from st_stockbill_items where st_stockbillid in (select st_stockbillid from st_stockbill where sourceobject='sa_sendrepair' and sourceid="+sa_sendrepairid+")");
- sqlList.add("delete from st_stockbill_items_sku where st_stockbillid in (select st_stockbillid from st_stockbill where sourceobject='sa_sendrepair' and sourceid="+sa_sendrepairid+")");
- sqlList.add("delete from st_stockbill where sourceobject='sa_sendrepair' and sourceid="+sa_sendrepairid);
- }
- sqlList.add(updateSQL.getSQL());
- System.err.println(sqlList.toString());
- dbConnect.runSqlUpdate(sqlList);
- return getSucReturnObject().setData(st_stockbillid).toString();
- }
- @API(title = "审核", apiversion = R.ID2025102509532403.v1.class)
- @CACHEING_CLEAN(apiClass = {sendrepair.class})
- public String check() throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Long sa_sendrepairid = content.getLong("sa_sendrepairid");
- boolean ischeck = content.getBooleanValue("ischeck");
- long sa_accountclassid=0;
- Rows accountclassrows = dbConnect.runSqlQuery("select * from sa_accountclass where accountno='01'");
- if(accountclassrows.isNotEmpty()){
- sa_accountclassid=accountclassrows.get(0).getLong("sa_accountclassid");
- }
- Rows rows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t1.remarks,t1.billno,t1.status,t2.qty,t2.sa_sendrepair_detailid,t2.amount,t2.agentcost,t2.disposition from sa_sendrepair t1 " +
- "inner join sa_sendrepair_detail t2 on t1.sa_sendrepairid=t2.sa_sendrepairid" +
- " where t1.sa_sendrepairid ='"
- + sa_sendrepairid + "' and t1.siteid='" + siteid + "'");
- if(rows.isEmpty()){
- return getErrReturnObject().setErrMsg("送修单不存在")
- .toString();
- }
- Row row =rows.get(0);
- Rows dispositionRows =dbConnect.runSqlQuery("select * from sa_aftersalesmag_disposition where disposition='"+row.getString("disposition")+"'");
- if(dispositionRows.isEmpty()){
- return getErrReturnObject().setErrMsg("返修处理意见不存在")
- .toString();
- }
- if (ischeck) {
- if (!row.getString("status").equals("进仓")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非进仓状态,无法审核")
- .toString();
- }
- } else {
- if (!dispositionRows.get(0).getBoolean("isrefund")) {
- if (!row.getString("status").equals("审核")) {
- return getErrReturnObject().setErrMsg("非审核状态下不可反审核").toString();
- }
- } else {
- if (!row.getString("status").equals("退款确认")) {
- return getErrReturnObject().setErrMsg("非退款确认状态下不可反审核").toString();
- }
- }
- }
- // 是否维修
- if (dispositionRows.get(0).getBoolean("ismaintain")) {
- /******** 账户余额扣减 ********/
- BigDecimal totalamount = rows.sum("agentcost");// 经销商维修支付费用总额
- // 如果经销商维修费用大于0
- if (totalamount.compareTo(BigDecimal.ZERO)>0) {
- if (ischeck) {
- CashbillEntity cashbillEntity = new CashbillEntity();
- cashbillEntity.setAmount(totalamount);
- cashbillEntity.setDiscountamountamount(BigDecimal.ZERO);
- cashbillEntity.setOwnerid(sa_sendrepairid);
- cashbillEntity.setOwnertable("sa_sendrepair");
- cashbillEntity.setRemarks("该单由送修单" + row.getString("billno") + "审核时自动生成");
- cashbillEntity.setSource("送修单审核");
- cashbillEntity.setTypemx("维修费");
- JSONObject cashbillPay = Accountbalance.createCashbillPay(this, row.getLong("sys_enterpriseid"), sa_accountclassid, cashbillEntity, true);
- sqlList.addAll(cashbillPay.getJSONArray("sqlList").toJavaList(String.class));
- } else {
- CashbillEntity cashbillEntity = new CashbillEntity();
- cashbillEntity.setAmount(totalamount.negate());
- cashbillEntity.setDiscountamountamount(BigDecimal.ZERO);
- cashbillEntity.setOwnerid(sa_sendrepairid);
- cashbillEntity.setOwnertable("sa_sendrepair");
- cashbillEntity.setRemarks("该单由送修单" + row.getString("billno") + "反审核时自动生成");
- cashbillEntity.setSource("送修单反审核");
- cashbillEntity.setTypemx("维修费");
- JSONObject cashbillPay = Accountbalance.createCashbillPay(this, row.getLong("sys_enterpriseid"), sa_accountclassid, cashbillEntity, true);
- sqlList.addAll(cashbillPay.getJSONArray("sqlList").toJavaList(String.class));
- }
- }
- }
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_sendrepair");
- updateSQL.setUniqueid(sa_sendrepairid);
- updateSQL.setSiteid(siteid);
- if (ischeck) {
- if (!dispositionRows.get(0).getBoolean("isrefund")) {
- updateSQL.setValue("status","审核");
- }else{
- updateSQL.setValue("status","退款确认");
- }
- updateSQL.setValue("checkby",username);
- updateSQL.setDateValue("checkdate");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "审核", "送修单审核成功").getSQL());
- } else {
- updateSQL.setValue("status","进仓");
- updateSQL.setValue("checkby","");
- updateSQL.setValue("checkdate","null");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "反审核", "送修单反审核成功").getSQL());
- }
- sqlList.add(updateSQL.getSQL());
- dbConnect.runSqlUpdate(sqlList);
- return getSucReturnObject().toString();
- }
- @API(title = "审核(送修单退钱处理)", apiversion = R.ID2025112514103403.v1.class)
- @CACHEING_CLEAN(apiClass = {sendrepair.class})
- public String check_refundprocessing() throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Long sa_sendrepairid = content.getLong("sa_sendrepairid");
- boolean ischeck = content.getBooleanValue("ischeck");
- BigDecimal amount = content.getBigDecimal("amount");
- long sa_accountclassid=0;
- Rows accountclassrows = dbConnect.runSqlQuery("select * from sa_accountclass where accountno='01'");
- if(accountclassrows.isNotEmpty()){
- sa_accountclassid=accountclassrows.get(0).getLong("sa_accountclassid");
- }
- Rows rows = dbConnect.runSqlQuery("select t1.sys_enterpriseid,t1.remarks,t1.billno,t1.status,t2.qty,t2.sa_sendrepair_detailid,t2.amount,t2.agentcost,t2.disposition,t2.sku from sa_sendrepair t1 " +
- "inner join sa_sendrepair_detail t2 on t1.sa_sendrepairid=t2.sa_sendrepairid" +
- " where t1.sa_sendrepairid ='"
- + sa_sendrepairid + "' and t1.siteid='" + siteid + "'");
- if(rows.isEmpty()){
- return getErrReturnObject().setErrMsg("送修单不存在")
- .toString();
- }
- Row row =rows.get(0);
- Rows dispositionRows =dbConnect.runSqlQuery("select * from sa_aftersalesmag_disposition where disposition='"+row.getString("disposition")+"'");
- if(dispositionRows.isEmpty()){
- return getErrReturnObject().setErrMsg("返修处理意见不存在")
- .toString();
- }
- if (ischeck) {
- if (!row.getString("status").equals("退款确认")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非退款确认状态,无法审核")
- .toString();
- }
- } else {
- if (!row.getString("status").equals("审核")) {
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的送修单为非审核状态,无法反审核")
- .toString();
- }
- if (!dispositionRows.get(0).getBoolean("isrefund")) {
- return getErrReturnObject().setErrMsg("该单不能反审核")
- .toString();
- }
- }
- // 是否退款
- if (dispositionRows.get(0).getBoolean("isrefund")) {
- for (Row rowdetail :rows){
- //取消序列号的返修状态
- sqlList.add("update sa_itemsku set isreturn=0,sys_enterpriseid=0,sa_agentsid=0 where sku='" + rowdetail.getString("sku")+"'");
- /**
- * 将保修卡作废
- */
- sqlList.add("update sa_warrantycard set isvoid=1,voiddate=CURRENT_TIME,voidreason='退货作废保修卡 "+ rowdetail.getString("billno")+"' where sku='" + rowdetail.getString("sku")+"'");
- }
- /******** 账户余额扣减 ********/
- BigDecimal totalamount = amount;// 退款总额
- sqlList.add("update sa_sendrepair set amount="+amount+" where sa_sendrepairid='" +sa_sendrepairid+"'");
- // 如果退款金额大于0
- if (totalamount.compareTo(BigDecimal.ZERO)>0) {
- totalamount = ischeck ? totalamount.negate():totalamount;
- CashbillEntity cashbillEntity = new CashbillEntity();
- cashbillEntity.setAmount(totalamount);
- cashbillEntity.setDiscountamountamount(BigDecimal.ZERO);
- cashbillEntity.setOwnerid(sa_sendrepairid);
- cashbillEntity.setOwnertable("sa_sendrepair");
- cashbillEntity.setRemarks("该单由送修单" + row.getString("billno") +(ischeck ? "审核" : "反审核")+"时自动生成");
- cashbillEntity.setSource("送修单"+(ischeck ? "审核" : "反审核"));
- cashbillEntity.setTypemx("整机退款");
- JSONObject cashbillPay = Accountbalance.createCashbillPay(this, row.getLong("sys_enterpriseid"), sa_accountclassid, cashbillEntity, true);
- sqlList.addAll(cashbillPay.getJSONArray("sqlList").toJavaList(String.class));
- }
- /*********** 售后开始 ************/
- Rows zprkrows = dbConnect.runSqlQuery("select t2.* from st_stockbill t1 inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid and t1.siteid=t2.siteid " +
- " where t1.siteid='"+siteid+"' and t1.typemx='正品入库' and t1.type='其他入库' and t1.sourceobject='sa_sendrepair' and t1.sourceid="+sa_sendrepairid);
- Rows bfrkrows = dbConnect.runSqlQuery("select t2.* from st_stockbill t1 inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid and t1.siteid=t2.siteid " +
- " where t1.siteid='"+siteid+"' and t1.typemx='报废入库' and t1.type='其他入库' and t1.sourceobject='sa_sendrepair' and t1.sourceid="+sa_sendrepairid);
- if (zprkrows.toRowsMap("st_stockbillid").size()== 1) {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "st_stockbill_items");
- updateSQL.setUniqueid(zprkrows.get(0).getLong("st_stockbill_itemsid"));
- updateSQL.setSiteid(siteid);
- updateSQL.setValue("amount",ischeck ? totalamount.negate() : 0);
- updateSQL.setValue("price",(ischeck ? totalamount.negate() : BigDecimal.ZERO).divide(zprkrows.get(0).getBigDecimal("qty")));
- updateSQL.setValue("defaultprice",(ischeck ? totalamount.negate() : BigDecimal.ZERO).divide(zprkrows.get(0).getBigDecimal("qty")));
- sqlList.add(updateSQL.getSQL());
- sqlList.add("update st_stockbill set billdate=CURRENT_TIME where st_stockbillid="+zprkrows.get(0).getLong("st_stockbillid"));
- }
- if (bfrkrows.toRowsMap("st_stockbillid").size()== 1) {
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "st_stockbill_items");
- updateSQL.setUniqueid(bfrkrows.get(0).getLong("st_stockbill_itemsid"));
- updateSQL.setSiteid(siteid);
- updateSQL.setValue("amount",ischeck ? totalamount.negate() : 0);
- updateSQL.setValue("price",(ischeck ? totalamount.negate() : BigDecimal.ZERO).divide(bfrkrows.get(0).getBigDecimal("qty")));
- updateSQL.setValue("defaultprice",(ischeck ? totalamount.negate() : BigDecimal.ZERO).divide(bfrkrows.get(0).getBigDecimal("qty")));
- sqlList.add(updateSQL.getSQL());
- sqlList.add("update st_stockbill set billdate=CURRENT_TIME where st_stockbillid="+bfrkrows.get(0).getLong("st_stockbillid"));
- }
- /*********** 售后结束 ************/
- }
- UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_sendrepair");
- updateSQL.setUniqueid(sa_sendrepairid);
- updateSQL.setSiteid(siteid);
- if (ischeck) {
- updateSQL.setValue("status","审核");
- updateSQL.setValue("checkby",username);
- updateSQL.setDateValue("checkdate");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "审核", "送修单退钱处理审核成功").getSQL());
- } else {
- updateSQL.setValue("status","退款确认");
- updateSQL.setValue("checkby","");
- updateSQL.setValue("checkdate","null");
- sqlList.add(
- DataContrlLog.createLog(this, "sa_sendrepair", sa_sendrepairid, "反审核", "送修单退钱处理反审核成功").getSQL());
- }
- sqlList.add(updateSQL.getSQL());
- dbConnect.runSqlUpdate(sqlList);
- return getSucReturnObject().toString();
- }
- /**
- * 翻新序列号不变 品号改变
- *
- */
- public ArrayList<String> updatefitemno(boolean istrue,Row sendrepairdetail) throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Rows skurows =dbConnect.runSqlQuery("select * from sa_itemsku where sku='"+sendrepairdetail.getString("sku")+"' and status!='报废'");
- if(skurows.isEmpty()){
- throw new YosException("序列号不存在或已作废");
- }
- long newitemid = sendrepairdetail.getLong("newitemid");
- String remarks = "由送修单号为" + sendrepairdetail.getString("billno") + "更改品号";
- if (skurows.size() == 1) {
- Row skurow =skurows.get(0);
- if (istrue) {
- if (newitemid==sendrepairdetail.getLong("itemid")) {
- throw new YosException( "调整品号不可与原品号相同");
- }
- if (newitemid==0) {
- throw new YosException( "调整品号不可为空");
- }
- if (!sendrepairdetail.getBoolean("skucontrol")) {
- throw new YosException("调整品号不是单品管理");
- }
- if (skurow.getLong("wmsuploadflag") == 2) {
- sqlList.add("update sa_itemsku set itemid="+newitemid+",changenotes='"+remarks+"',wmsuploadflag=1 where sa_itemskuid="+skurow.getLong("sa_itemskuid"));
- }else{
- sqlList.add("update sa_itemsku set itemid="+newitemid+",changenotes='"+remarks+"' where sa_itemskuid="+skurow.getLong("sa_itemskuid"));
- }
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_itemsku_change");
- insertSQL.setValue("siteid", siteid);
- insertSQL.setValue("sa_itemsku_changeid", createTableID("sa_itemsku_change"));
- insertSQL.setValue("sa_itemskuid", skurow.getLong("sa_itemskuid"));
- insertSQL.setValue("sa_agentsid", skurow.getLong("sa_agentsid"));
- insertSQL.setValue("sa_agentsidnew", skurow.getLong("sa_agentsid"));
- insertSQL.setValue("itemid", skurow.getLong("itemid"));
- insertSQL.setValue("itemidnew", newitemid);
- insertSQL.setValue("stockid", skurow.getLong("stockid"));
- insertSQL.setValue("stockidnew", skurow.getLong("stockid"));
- insertSQL.setValue("changenotes", remarks);
- insertSQL.setDateValue("changedate");
- insertSQL.setValue("changeby", username);
- sqlList.add(insertSQL.getSQL());
- }
- if (!istrue) {
- sqlList.add("update sa_itemsku set itemid="+sendrepairdetail.getLong("itemid")+",changenotes='null' where sa_itemskuid="+skurow.getLong("sa_itemskuid"));
- sqlList.add("delete from sa_itemsku_change where changenotes like '%"+sendrepairdetail.getString("billno")+"%'");
- }
- }
- return sqlList;
- }
- /**
- * 翻新新序列号入库
- *
- */
- public ArrayList<String> updatefnewmachinecode(boolean istrue,Row sendrepairdetail,RowsMap stockRowsMap) throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Rows departmentRows =dbConnect.runSqlQuery("select * from sys_department");
- RowsMap departmentRowsMap = departmentRows.toRowsMap("depno");
- String sku = sendrepairdetail.getString("sku");
- String newsku = sendrepairdetail.getString("newsku");
- if (istrue) {
- if (!sku.equals(newsku)) {
- InsertSQL saItemsku = SQLFactory.createInsertSQL(this,"sa_itemsku");
- saItemsku.setValue("sku", newsku);
- saItemsku.setValue("itemid", sendrepairdetail.getLong("newitemid"));
- saItemsku.setValue("stockid",stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- saItemsku.setValue("createby", username);
- saItemsku.setDateValue("createdate");
- saItemsku.setValue("changeby", username);
- saItemsku.setDateValue("changedate");
- saItemsku.setValue("changenotes", "");
- saItemsku.setValue("mono", "");
- saItemsku.setValue("sa_itemskuid", createTableID("sa_itemsku"));
- saItemsku.setSiteid(siteid);
- sqlList.add(saItemsku.getSQL());
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- long st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("STOCKBILL1"));
- insertSQL.setValue("type", "其他入库");
- insertSQL.setValue("typemx", "翻新/返修入库");
- insertSQL.setValue("sys_enterpriseid",sendrepairdetail.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepairid"));
- insertSQL.setValue("departmentid", departmentRowsMap.containsKey("10106")?departmentRowsMap.get("10106").get(0).getLong("departmentid"):0);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("remarks", "送修单入库");
- insertSQL.setValue("status", "审核");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setValue("checkby", username);
- insertSQL.setDateValue("checkdate");
- insertSQL.setDateValue("billdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("newitemid"));
- insertSQL.setValue("itemno", sendrepairdetail.getString("newitemno"));
- insertSQL.setValue("itemname", sendrepairdetail.getString("newitemname"));
- insertSQL.setValue("model", sendrepairdetail.getString("newmodel"));
- insertSQL.setValue("qty", sendrepairdetail.getBigDecimal("qty"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(sendrepairdetail.getString("newsku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("newitemid"));
- insertSQL.setValue("sku", sendrepairdetail.getString("newsku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- sqlList.addAll(sendrepairIcinvbal_new(isinstock("其他入库","1",istrue),sendrepairdetail,stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0));
- }
- }
- if (!istrue) {
- sqlList.addAll(sendrepairIcinvbal_new(isinstock("其他入库","1",istrue),sendrepairdetail,stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0));
- //sqlList.add("delete from st_stockbill where type='其他入库' and sourceobject='sa_sendrepair' and sourceid="+sendrepairdetail.getLong("sendrepairid"));
- sqlList.add("delete from sa_itemsku where sku='"+sendrepairdetail.getString("newsku")+"'");
- }
- return sqlList;
- }
- /**
- * 翻新 老序列号出库
- *
- */
- public ArrayList<String> updatefmachinecode(boolean istrue,Row sendrepairdetail,RowsMap stockRowsMap) throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Rows departmentRows =dbConnect.runSqlQuery("select * from sys_department");
- RowsMap departmentRowsMap = departmentRows.toRowsMap("depno");
- if (istrue) {
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- long st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("STOCKBILL1"));
- insertSQL.setValue("type", "其他出库");
- if (sendrepairdetail.getString("disposition").equalsIgnoreCase("返修")) {
- insertSQL.setValue("typemx", "返修出库");
- } else if (sendrepairdetail.getString("disposition").equalsIgnoreCase("翻新")) {
- insertSQL.setValue("typemx", "翻新出库");
- } else if (sendrepairdetail.getString("disposition").contains("报废")) {
- insertSQL.setValue("typemx", "报废出库");
- } else if (sendrepairdetail.getString("disposition").equalsIgnoreCase("退钱做正品")) {
- insertSQL.setValue("typemx", "退钱做正品出库");
- } else if (sendrepairdetail.getString("disposition").equalsIgnoreCase("退钱做试验机")) {
- insertSQL.setValue("typemx", "退钱做试验机出库");
- }
- insertSQL.setValue("sys_enterpriseid",sendrepairdetail.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepairid"));
- insertSQL.setValue("departmentid", departmentRowsMap.containsKey("10106")?departmentRowsMap.get("10106").get(0).getLong("departmentid"):0);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("remarks", "送修单出库");
- insertSQL.setValue("status", "审核");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setDateValue("billdate");
- insertSQL.setValue("checkby", username);
- insertSQL.setDateValue("checkdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("itemid"));
- insertSQL.setValue("itemno", sendrepairdetail.getString("itemno"));
- insertSQL.setValue("itemname", sendrepairdetail.getString("itemname"));
- insertSQL.setValue("model", sendrepairdetail.getString("model"));
- insertSQL.setValue("qty", sendrepairdetail.getBigDecimal("qty"));
- insertSQL.setValue("sku", sendrepairdetail.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(sendrepairdetail.getString("sku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("itemid"));
- insertSQL.setValue("sku", sendrepairdetail.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- sqlList.addAll(sendrepairIcinvbal(isinstock("其他出库","1",istrue),sendrepairdetail, stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0));
- sqlList.add("update sa_itemsku set stockid=0 where sku='"+sendrepairdetail.getString("sku")+"'");
- if(sendrepairdetail.getString("disposition").equalsIgnoreCase("翻新") || sendrepairdetail.getString("disposition").equalsIgnoreCase("返修")){
- sqlList.add("update sa_itemsku set status='报废' where sku='"+sendrepairdetail.getString("sku")+"'");
- }
- }
- if (!istrue) {
- sqlList.addAll(sendrepairIcinvbal(isinstock("其他出库","1",istrue),sendrepairdetail, stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0));
- sqlList.add("update sa_itemsku set status='在库',stockid='"+(stockRowsMap.containsKey("104")?stockRowsMap.get("104").get(0).getLong("stockid"):0)+"' where sku='"+sendrepairdetail.getString("sku")+"'");
- }
- return sqlList;
- }
- /**
- * 正品入库
- *
- */
- public ArrayList<String> infinishedstock(boolean istrue,Row sendrepairdetail) throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Rows departmentRows =dbConnect.runSqlQuery("select * from sys_department");
- RowsMap departmentRowsMap = departmentRows.toRowsMap("depno");
- if (istrue) {
- /*************** 售后开始 ****************/
- long stockid = 0;
- long itemid = sendrepairdetail.getLong("itemid");
- Rows itemrows = dbConnect.runSqlQuery("select t2.stockid from plm_item t1 left join st_stock t2 on t1.stockno=t2.stockno where t1.itemid="+itemid);
- if (itemrows.isNotEmpty()) {
- stockid = itemrows.get(0).getLong("stockid");
- if (stockid==0) {
- throw new YosException("货品档案中该商品没有默认仓库,请先补齐信息");
- }
- } else {
- throw new YosException("系统货品档案中不存在该品号");
- }
- /*************** 售后结束 ****************/
- /*************** 电商出库开始 ****************/
- String name = sendrepairdetail.getString("name");
- String phonenumber = sendrepairdetail.getString("phonenumber");
- String address = sendrepairdetail.getString("address");
- String fnotes = "";
- if (!name.equals("")) {
- fnotes = "姓名:" + name + ",电话:" + phonenumber + ".地址:" + address;
- }
- /*************** 电商出库结束 ****************/
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- long st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("STOCKBILL1"));
- insertSQL.setValue("type", "其他入库");
- insertSQL.setValue("typemx", "正品入库");
- insertSQL.setValue("sys_enterpriseid",sendrepairdetail.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepairid"));
- insertSQL.setValue("departmentid", departmentRowsMap.containsKey("10106")?departmentRowsMap.get("10106").get(0).getLong("departmentid"):0);
- insertSQL.setValue("stockid", stockid);
- insertSQL.setValue("remarks", fnotes);
- insertSQL.setValue("status", "新建");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setDateValue("billdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockid);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("itemid"));
- insertSQL.setValue("itemno", sendrepairdetail.getString("itemno"));
- insertSQL.setValue("itemname", sendrepairdetail.getString("itemname"));
- insertSQL.setValue("model", sendrepairdetail.getString("model"));
- insertSQL.setValue("qty", sendrepairdetail.getBigDecimal("qty"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(sendrepairdetail.getString("sku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockid);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("itemid"));
- insertSQL.setValue("sku", sendrepairdetail.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- }
- if (!istrue) {
- sqlList.add("update sa_itemsku set stockid=0 where sku='"+sendrepairdetail.getString("sku")+"'");
- }
- return sqlList;
- }
- /**
- * 报废入库报废仓
- *
- */
- public ArrayList<String> inscrapstock(boolean istrue,Row sendrepairdetail,RowsMap stockRowsMap) throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- Rows departmentRows =dbConnect.runSqlQuery("select * from sys_department");
- RowsMap departmentRowsMap = departmentRows.toRowsMap("depno");
- if (istrue) {
- String name = sendrepairdetail.getString("name");
- String phonenumber = sendrepairdetail.getString("phonenumber");
- String address = sendrepairdetail.getString("address");
- String fnotes = "";
- if (!name.equals("")) {
- fnotes = "姓名:" + name + ",电话:" + phonenumber + ".地址:" + address;
- }
- /*************** 电商出库结束 ****************/
- InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
- long st_stockbillid = createTableID("st_stockbill");
- insertSQL.setUniqueid(st_stockbillid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("billno", createBillCode("STOCKBILL1"));
- insertSQL.setValue("type", "其他入库");
- insertSQL.setValue("typemx", "报废入库");
- insertSQL.setValue("sys_enterpriseid",sendrepairdetail.getLong("sys_enterpriseid"));
- insertSQL.setValue("rb", 1);
- insertSQL.setValue("sourceobject", "sa_sendrepair");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepairid"));
- insertSQL.setValue("departmentid", departmentRowsMap.containsKey("10106")?departmentRowsMap.get("10106").get(0).getLong("departmentid"):0);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("106")?stockRowsMap.get("106").get(0).getLong("stockid"):0);
- insertSQL.setValue("remarks", "送修单入库");
- insertSQL.setValue("status", "新建");
- insertSQL.setValue("createby", username);
- insertSQL.setDateValue("createdate");
- insertSQL.setDateValue("billdate");
- sqlList.add(insertSQL.getSQL());
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
- long st_stockbill_itemsid = createTableID("st_stockbill_items");
- insertSQL.setUniqueid(st_stockbill_itemsid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("rowno", 1);
- insertSQL.setValue("sa_dispatch_itemsid", 0);
- insertSQL.setValue("sourceobject", "sa_sendrepair_detail");
- insertSQL.setValue("sourceid", sendrepairdetail.getLong("sa_sendrepair_detailid"));
- insertSQL.setValue("stockid",stockRowsMap.containsKey("106")?stockRowsMap.get("106").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("itemid"));
- insertSQL.setValue("itemno", sendrepairdetail.getString("itemno"));
- insertSQL.setValue("itemname", sendrepairdetail.getString("itemname"));
- insertSQL.setValue("model", sendrepairdetail.getString("model"));
- insertSQL.setValue("qty", sendrepairdetail.getBigDecimal("qty"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- sqlList.add(insertSQL.getSQL());
- if(StringUtils.isNotBlank(sendrepairdetail.getString("sku"))){
- insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items_sku");
- long st_stockbill_items_skuid = createTableID("st_stockbill_items_sku");
- insertSQL.setUniqueid(st_stockbill_items_skuid);
- insertSQL.setSiteid(siteid);
- insertSQL.setValue("stockid", stockRowsMap.containsKey("106")?stockRowsMap.get("106").get(0).getLong("stockid"):0);
- insertSQL.setValue("itemid", sendrepairdetail.getLong("itemid"));
- insertSQL.setValue("sku", sendrepairdetail.getString("sku"));
- insertSQL.setValue("st_stockbillid", st_stockbillid);
- insertSQL.setValue("st_stockbill_itemsid", st_stockbill_itemsid);
- sqlList.add(insertSQL.getSQL());
- }
- sqlList.addAll(sendrepairIcinvbal(isinstock("其他入库","1",istrue),sendrepairdetail,stockRowsMap.containsKey("106")?stockRowsMap.get("106").get(0).getLong("stockid"):0));
- sqlList.add("update sa_itemsku set stockid="+(stockRowsMap.containsKey("106")?stockRowsMap.get("106").get(0).getLong("stockid"):0)+" where sku='"+sendrepairdetail.getString("sku")+"'");
- }
- if (!istrue) {
- sqlList.addAll(sendrepairIcinvbal(isinstock("其他入库","1",istrue),sendrepairdetail,stockRowsMap.containsKey("106")?stockRowsMap.get("106").get(0).getLong("stockid"):0));
- sqlList.add("update sa_itemsku set stockid=0 where sku='"+sendrepairdetail.getString("sku")+"'");
- }
- return sqlList;
- }
- public ArrayList<String> sendrepairIcinvbal_new(boolean isinstock,Row sendrepairdetail,long stockid) throws YosException {// 云链
- ArrayList<String> sqlList =new ArrayList<>();
- long newitemid = sendrepairdetail.getLong("newitemid");
- String newitemno = sendrepairdetail.getString("newitemno");
- ArrayList<Long> itemList= new ArrayList<>();
- itemList.add(newitemid);
- RowsMap invbalsRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_invbal").setWhere("siteid", siteid).setWhere("itemid",itemList).query().toRowsMap("itemid");
- BigDecimal qty =isinstock ? sendrepairdetail.getBigDecimal("qty") : sendrepairdetail.getBigDecimal("qty").negate();
- if (!invbalsRowsMap.containsKey(String.valueOf(newitemid)) || !invbalsRowsMap.get(String.valueOf(newitemid)).toRowsMap("stockid").containsKey(String.valueOf(stockid))) {
- InsertSQL invbalInsert = SQLFactory.createInsertSQL(this, "st_invbal");
- invbalInsert.setValue("siteid", siteid);
- invbalInsert.setValue("stockid", stockid);
- invbalInsert.setValue("itemid", newitemid);
- invbalInsert.setValue("qty", qty.doubleValue());
- sqlList.add(invbalInsert.getSQL());
- } else {
- UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(this, "st_invbal");
- invbalUpdate.addValue("qty",qty);
- invbalUpdate.setWhere("itemid", newitemid);
- invbalUpdate.setWhere("stockid", stockid);
- invbalUpdate.setWhere("siteid", siteid);
- sqlList.add(invbalUpdate.getSQL());
- }
- return sqlList;
- }
- public ArrayList<String> sendrepairIcinvbal(boolean isinstock,Row sendrepairdetail,long stockid) throws YosException {// 云链
- ArrayList<String> sqlList =new ArrayList<>();
- long itemid = sendrepairdetail.getLong("itemid");
- ArrayList<Long> itemList= new ArrayList<>();
- itemList.add(itemid);
- RowsMap invbalsRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_invbal").setWhere("siteid", siteid).setWhere("itemid",itemList).query().toRowsMap("itemid");
- BigDecimal qty =isinstock ? sendrepairdetail.getBigDecimal("qty") : sendrepairdetail.getBigDecimal("qty").negate();
- if (!invbalsRowsMap.containsKey(String.valueOf(itemid)) || !invbalsRowsMap.get(String.valueOf(itemid)).toRowsMap("stockid").containsKey(String.valueOf(stockid))) {
- InsertSQL invbalInsert = SQLFactory.createInsertSQL(this, "st_invbal");
- invbalInsert.setValue("siteid", siteid);
- invbalInsert.setValue("stockid", stockid);
- invbalInsert.setValue("itemid", itemid);
- invbalInsert.setValue("qty", qty.doubleValue());
- sqlList.add(invbalInsert.getSQL());
- } else {
- UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(this, "st_invbal");
- invbalUpdate.addValue("qty", qty);
- invbalUpdate.setWhere("itemid", itemid);
- invbalUpdate.setWhere("stockid", stockid);
- invbalUpdate.setWhere("siteid", siteid);
- sqlList.add(invbalUpdate.getSQL());
- }
- return sqlList;
- }
- public boolean isinstock(String type, String rb, boolean fischeck) {
- if (type.equals("其他出库") || type.equals("销售出库")
- || type.equals("生产领料出库") || type.equals("委外领料出库")
- || type.equals("返修出库")) {
- if ((fischeck && rb.equals("1")) || (!fischeck && rb.equals("0"))) {
- return false;
- } else {
- return true;
- }
- } else if (type.equals("其他入库") || type.equals("外购入库")
- || type.equals("生产入库") || type.equals("委外入库")
- || type.equals("返修入库")) {
- if ((fischeck && rb.equals("1")) || (!fischeck && rb.equals("0"))) {
- return true;
- } else {
- return false;
- }
- }
- return false;
- }
- }
|