Просмотр исходного кода

工单详情及u8凭证导出改为gbk

hxh 4 месяцев назад
Родитель
Сommit
a45c94e9ae

+ 6 - 3
src/custom/restcontroller/sale/cashbill/TxtFactory.java

@@ -24,9 +24,12 @@ public class TxtFactory {
 
     public void write(String str) throws YosException {
         try {
-            PrintWriter out = new PrintWriter(this.filepath, StandardCharsets.UTF_8);
-
-
+            PrintWriter out = new PrintWriter(
+                    new OutputStreamWriter(
+                            new FileOutputStream(this.filepath),
+                            "GBK"
+                    )
+            );
             // 写入文本
             out.println(str);
             // 确保所有缓冲的输出都被写出

+ 2 - 3
src/custom/restcontroller/sale/cashbill/cashbill.java

@@ -1141,7 +1141,7 @@ public class cashbill extends Controller {
         querySQL.setTableAlias("t1");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t1.sa_cashbillid",sa_cashbillids);
-        querySQL.setWhere("t1.status='审核' and t1.isupload=0");
+        querySQL.setWhere("t1.status='审核'");
         System.err.println(querySQL.getSQL());
         Rows rows =querySQL.query();
         if(rows.isNotEmpty()){
@@ -1156,8 +1156,7 @@ public class cashbill extends Controller {
                     buf.append(now+",记,"+count+",,农行收到货款,100201,"+row.getDouble("amount")+",0,,0,,朱群美,,,"+now+",,,,,,,,,,,,,0,,0,,,,,,,,,FALSE,FALSE,FALSE,FALSE,FALSE,,FALSE,FALSE,FALSE,FALSE,016,新浙江美大节能电器销售有限公司,"+cal.get(Calendar.YEAR)+","+(cal.get(Calendar.MONTH)+1)+",1,,,,0,,1,,,,海宁农行01810,,,,,,,,"+u8subject+",0,0,FALSE,,,0,0,,,,0,0,,,,,,0,0,\r\n");
                     buf.append(now+",记,"+count+",,农行收到货款,"+u8subject+",0,"+row.getDouble("amount")+",,0,,朱群美,,,"+now+",,,,,,,,,,,,,0,,0,,,,,,,,,FALSE,FALSE,FALSE,FALSE,FALSE,,FALSE,FALSE,FALSE,FALSE,016,新浙江美大节能电器销售有限公司,"+cal.get(Calendar.YEAR)+","+(cal.get(Calendar.MONTH)+1)+",1,,,,0,,2,,台,,,,,,,,,,100201,0,0,FALSE,,,0,0,,,,0,0,,,,,,0,0,\r\n");
                     count++;
-                    // 如果成功,则进行审核操作
-                    sqlList.add("update sa_cashbill set isupload=1 where sa_cashbillid="+row.getLong("sa_cashbillid"));
+                    sqlList.add("update sa_cashbill set isupload=ifnull(isupload,0)+1 where sa_cashbillid="+row.getLong("sa_cashbillid"));
                 }else{
                     agentList.add(row.getString("agentnum"));
                 }

+ 0 - 1
src/custom/restcontroller/webmanage/sale/workorder/SQL/服务工单列表查询.sql

@@ -16,7 +16,6 @@ select  t1.*,
         t2.enddate,
         t7.name saler_name,
         t7.phonenumber salerphonenumber,
-		(select name from sys_datateam where ownerid=t1.sa_workorderid and ownertable='sa_workorder' order by isleader desc LIMIT 0,1 ) projectleader,
 		t8.itemid,
 		t8.sku,
 		t8.cardno,

+ 1 - 17
src/custom/restcontroller/webmanage/sale/workorder/SQL/服务工单详情查询.sql

@@ -23,22 +23,9 @@ SELECT
     t9.projectname,
     t7.name saler_name,
     t7.phonenumber salerphonenumber,
-    (select name from sys_datateam where ownerid=t1.sa_workorderid and ownertable='sa_workorder' order by isleader desc LIMIT 0,1 ) projectleader,
-    t10.itemid,
-    t10.sku,
-    t10.cardno,
-    t11.itemno,
-    t11.itemname,
-    t11.model,
-    t11.spec,
-    t12.begdate cardbegdate,
-    t12.enddate cardenddate,
     t14.agentnum agentnum_service,
     t13.abbreviation abbreviation_service,
-    t13.enterprisename enterprisename_service,
-    ifnull(t15.amount,0) amount,
-    ifnull(t15.accessoryamount,0) accessoryamount,
-    ifnull(t15.dooramount,0) dooramount
+    t13.enterprisename enterprisename_service
 FROM
 	sa_workorder t1
 	left join sa_serviceorder t2 on t1.sa_serviceorderid=t2.sa_serviceorderid and t1.siteid=t2.siteid
@@ -49,10 +36,7 @@ FROM
     left join sa_order t8 on t8.sa_orderid=t2.sa_orderid and t8.siteid=t2.siteid
     left join sa_project t9 on t9.sa_projectid=t8.sa_projectid and t8.siteid=t9.siteid
     left join (SELECT * FROM (SELECT *,ROW_NUMBER() OVER (PARTITION BY sa_serviceorderid ORDER BY sa_serviceorderitemsid ASC) AS rowno FROM sa_serviceorderitems) t WHERE rowno = 1) t10 on t10.sa_serviceorderid=t1.sa_serviceorderid and t10.siteid=t1.siteid
-	left join sa_warrantycard t12 on t10.cardno=t12.cardno
-    left join plm_item t11 on t11.itemid=t10.itemid and t11.siteid=t10.siteid
     left join sys_enterprise t13 on t13.sys_enterpriseid=t2.sys_enterpriseid_service and t13.siteid=t2.siteid
     left join sa_agents t14 on t14.sys_enterpriseid=t2.sys_enterpriseid_service and t14.siteid=t2.siteid
-    left join (select sa_workorderid,max(ifnull(accessoryamount,0)) accessoryamount,max(ifnull(dooramount,0)) dooramount,max(ifnull(amount,0)) amount from sa_workorder_node group by sa_workorderid) t15 on t1.sa_workorderid=t15.sa_workorderid
 
 	where t1.siteid=$siteid$  and t1.sa_workorderid=$sa_workorderid$

+ 36 - 0
src/custom/restcontroller/webmanage/sale/workorder/workorder.java

@@ -222,6 +222,42 @@ public class workorder extends Controller {
         Rows rows = dbConnect.runSqlQuery(sqlFactory);
         Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
 
+        if(rows.isNotEmpty()){
+            Rows serviceorderitemsrows = dbConnect.runSqlQuery("SELECT t1.itemid,t1.sku, t1.cardno,t11.itemno,t11.itemname,t11.model,t11.spec,t12.begdate cardbegdate,t12.enddate cardenddate FROM sa_serviceorderitems t1 left join sa_warrantycard t12 on t1.cardno=t12.cardno left join plm_item t11 on t11.itemid=t1.itemid and t11.siteid=t1.siteid WHERE t1.sa_serviceorderid="+rows.get(0).getLong("sa_serviceorderid")+" ORDER BY t1.sa_serviceorderitemsid ASC");
+            if(serviceorderitemsrows.isEmpty()){
+                rows.get(0).put("itemid","");
+                rows.get(0).put("sku","");
+                rows.get(0).put("cardno","");
+                rows.get(0).put("itemno","");
+                rows.get(0).put("itemname","");
+                rows.get(0).put("model","");
+                rows.get(0).put("spec","");
+                rows.get(0).put("cardbegdate","");
+                rows.get(0).put("cardenddate","");
+            }else{
+                rows.get(0).put("itemid",serviceorderitemsrows.get(0).getString("itemid"));
+                rows.get(0).put("sku",serviceorderitemsrows.get(0).getString("sku"));
+                rows.get(0).put("cardno",serviceorderitemsrows.get(0).getString("cardno"));
+                rows.get(0).put("itemno",serviceorderitemsrows.get(0).getString("itemno"));
+                rows.get(0).put("itemname",serviceorderitemsrows.get(0).getString("itemname"));
+                rows.get(0).put("model",serviceorderitemsrows.get(0).getString("model"));
+                rows.get(0).put("spec",serviceorderitemsrows.get(0).getString("spec"));
+                rows.get(0).put("cardbegdate",serviceorderitemsrows.get(0).getString("cardbegdate"));
+                rows.get(0).put("cardenddate",serviceorderitemsrows.get(0).getString("cardenddate"));
+            }
+            Rows amountrows = dbConnect.runSqlQuery("select sa_workorderid,max(ifnull(accessoryamount,0)) accessoryamount,max(ifnull(dooramount,0)) dooramount,max(ifnull(amount,0)) amount from sa_workorder_node where sa_workorderid="+sa_workorderid+" group by sa_workorderid");
+            if(amountrows.isEmpty()){
+                rows.get(0).put("accessoryamount",0);
+                rows.get(0).put("dooramount",0);
+                rows.get(0).put("amount",0);
+            }else{
+                rows.get(0).put("accessoryamount",amountrows.get(0).getString("accessoryamount"));
+                rows.get(0).put("dooramount",amountrows.get(0).getString("dooramount"));
+                rows.get(0).put("amount",amountrows.get(0).getString("amount"));
+            }
+
+        }
+
         QuerySQL userquerySQL = SQLFactory.createQuerySQL(this, "sys_users","userid");
         userquerySQL.setTableAlias("t1");
         userquerySQL.addJoinTable(JOINTYPE.left, "sys_usersite", "t2", "t1.userid = t2.userid", "usertype");