浏览代码

成本报表 面辅料超链接数据

liuchaohui 2 年之前
父节点
当前提交
1a7ee5970f

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/entity/SyCostAllocationFabric.java

@@ -8,7 +8,11 @@ import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -24,6 +28,9 @@ import io.swagger.annotations.ApiModelProperty;
 public class SyCostAllocationFabric implements Serializable {
     private static final long serialVersionUID = 1L;
 
+    List<SyRemaining> syRemaining = new ArrayList<>();
+    List<SyTransfer> syTransfers = new ArrayList<>();
+
     /**id*/
     @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "id")

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/entity/SyCostAllocationIngredient.java

@@ -8,7 +8,11 @@ import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -24,6 +28,9 @@ import io.swagger.annotations.ApiModelProperty;
 public class SyCostAllocationIngredient implements Serializable {
     private static final long serialVersionUID = 1L;
 
+    List<SyRemaining> syRemaining = new ArrayList<>();
+    List<SyTransfer> syTransfers = new ArrayList<>();
+
     /**id*/
     @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "id")

+ 30 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/entity/SyRemaining.java

@@ -0,0 +1,30 @@
+package org.jeecg.modules.cost.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import java.math.BigDecimal;
+
+@Data
+@TableName("sy_remaining")
+@ApiModel(value="sy_remaining对象", description="余下数据")
+public class SyRemaining {
+
+    //存货名称
+    private String goodsName;
+
+    //颜色
+    private String color;
+
+    //计划单号
+    private String planCode;
+
+    //使用数量
+    private String number;
+
+    //单位成本
+    private BigDecimal unitCost;
+
+    //总成本
+    private BigDecimal cost;
+}

+ 30 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/entity/SyTransfer.java

@@ -0,0 +1,30 @@
+package org.jeecg.modules.cost.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("sy_transfer")
+@ApiModel(value="sy_transfer对象", description="转入数据")
+public class SyTransfer {
+    //存货名称
+    private String goodsName;
+
+    //颜色
+    private String color;
+
+    //计划单号
+    private String planCode;
+
+    //使用数量
+    private String number;
+
+    //单位成本
+    private BigDecimal unitCost;
+
+    //总成本
+    private BigDecimal cost;
+}

+ 92 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/service/impl/SyCostAllocationServiceImpl.java

@@ -253,6 +253,52 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
         List<SyCostAllocationFabric> list3 = new ArrayList<>();
         for (int i=0;i<jianSon1.size();i++) {
             SyCostAllocationFabric Fabric = JSONObject.toJavaObject(jianSon1.get(i), SyCostAllocationFabric.class);
+            /*余下*/
+            String sqlRemaining = " SELECT v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1, " +
+                    "   isnull(sum(od.iSendQTY),0)+isnull(sum(p.iQuantity),0) as yi " +
+                    "    FROM rdrecords01 rs1  " +
+                    " left join rdrecord01 r1 on r1.id=rs1.id " +
+                    " left join PO_Podetails p on p.ID=rs1.iPOsID " +
+                    " left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID " +
+                    " left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID  " +
+                    " LEFT JOIN Inventory  c on c.cInvCode=rs1.cInvCode  " +
+                    " LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode  " +
+                    " where rs1.cBatch != ' "+plannum+"' and rs1.cPOID  like ' "+plannum+"%' and v.cVenName='"+Fabric.getProcessUnit()+
+                            "' and c.cInvName='"+Fabric.getGoodsName()+"' " +
+                    " group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1";
+            /*转入*/
+            String sqlTransfer = " SELECT v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1, " +
+                    "   isnull(sum(od.iSendQTY),0)+isnull(sum(p.iQuantity),0) as yi " +
+                    "    FROM rdrecords01 rs1  " +
+                    " left join rdrecord01 r1 on r1.id=rs1.id " +
+                    " left join PO_Podetails p on p.ID=rs1.iPOsID " +
+                    " left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID " +
+                    " left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID  " +
+                    " LEFT JOIN Inventory  c on c.cInvCode=rs1.cInvCode  " +
+                    " LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode  " +
+                    " where rs1.cBatch = ' "+plannum+"' and rs1.cPOID not like ' "+plannum+"%' and v.cVenName='"+Fabric.getProcessUnit()+
+                    "' and c.cInvName='"+Fabric.getGoodsName()+"' " +
+                    " group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1";
+            List<Map<String, Object>> remainingList  = senYuDataSourceOne.queryForList(sqlRemaining);
+            if(remainingList.size()>0){
+                List<JSONObject> remainingJson = JsonChangeUtils.toJSONObject(remainingList);
+                List<SyRemaining> syRemainingList = new ArrayList<>();
+                for (int j=0;j<remainingJson.size();j++){
+                    SyRemaining syRemaining = JSONObject.toJavaObject(remainingJson.get(i), SyRemaining.class);
+                    syRemainingList.add(syRemaining);
+                }
+                Fabric.setSyRemaining(syRemainingList);
+            }
+            List<Map<String, Object>> transferlist  = senYuDataSourceOne.queryForList(sqlTransfer);
+            if(transferlist.size()>0){
+                List<JSONObject> transferJson = JsonChangeUtils.toJSONObject(transferlist);
+                List<SyTransfer> syTransferList = new ArrayList<>();
+                for (int j=0;j<transferJson.size();j++){
+                    SyTransfer transfer = JSONObject.toJavaObject(transferJson.get(i), SyTransfer.class);
+                    syTransferList.add(transfer);
+                }
+                Fabric.setSyTransfers(syTransferList);
+            }
             list3.add(Fabric);
         }
 
@@ -312,6 +358,52 @@ public class SyCostAllocationServiceImpl extends ServiceImpl<SyCostAllocationMap
         List<SyCostAllocationIngredient> list4 = new ArrayList<>();
         for (int i=0;i<jianSon2.size();i++) {
             SyCostAllocationIngredient Ingredient = JSONObject.toJavaObject(jianSon2.get(i), SyCostAllocationIngredient.class);
+            /*余下*/
+            String sqlRemaining = " SELECT v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1, " +
+                    "   isnull(sum(od.iSendQTY),0)+isnull(sum(p.iQuantity),0) as yi " +
+                    "    FROM rdrecords01 rs1  " +
+                    " left join rdrecord01 r1 on r1.id=rs1.id " +
+                    " left join PO_Podetails p on p.ID=rs1.iPOsID " +
+                    " left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID " +
+                    " left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID  " +
+                    " LEFT JOIN Inventory  c on c.cInvCode=rs1.cInvCode  " +
+                    " LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode  " +
+                    " where rs1.cBatch != ' "+plannum+"' and rs1.cPOID  like ' "+plannum+"%' and v.cVenName='"+Ingredient.getProcessUnit()+
+                    "' and c.cInvName='"+Ingredient.getGoodsName()+"' " +
+                    " group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1";
+            /*转入*/
+            String sqlTransfer = " SELECT v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1, " +
+                    "   isnull(sum(od.iSendQTY),0)+isnull(sum(p.iQuantity),0) as yi " +
+                    "    FROM rdrecords01 rs1  " +
+                    " left join rdrecord01 r1 on r1.id=rs1.id " +
+                    " left join PO_Podetails p on p.ID=rs1.iPOsID " +
+                    " left join OM_MODetails o on o.MODetailsID =rs1.iOMoDID " +
+                    " left join OM_MOMaterials od on od.MoDetailsID=o.MODetailsID  " +
+                    " LEFT JOIN Inventory  c on c.cInvCode=rs1.cInvCode  " +
+                    " LEFT JOIN Vendor v ON r1.cVenCode= v.cVenCode  " +
+                    " where rs1.cBatch = ' "+plannum+"' and rs1.cPOID not like ' "+plannum+"%' and v.cVenName='"+Ingredient.getProcessUnit()+
+                    "' and c.cInvName='"+Ingredient.getGoodsName()+"' " +
+                    " group BY v.cVenName,c.cInvName,rs1.cPOID,rs1.cfree1";
+            List<Map<String, Object>> remainingList  = senYuDataSourceOne.queryForList(sqlRemaining);
+            if(remainingList.size()>0){
+                List<JSONObject> remainingJson = JsonChangeUtils.toJSONObject(remainingList);
+                List<SyRemaining> syRemainingList = new ArrayList<>();
+                for (int j=0;j<remainingJson.size();j++){
+                    SyRemaining syRemaining = JSONObject.toJavaObject(remainingJson.get(i), SyRemaining.class);
+                    syRemainingList.add(syRemaining);
+                }
+                Ingredient.setSyRemaining(syRemainingList);
+            }
+            List<Map<String, Object>> transferlist  = senYuDataSourceOne.queryForList(sqlTransfer);
+            if(transferlist.size()>0){
+                List<JSONObject> transferJson = JsonChangeUtils.toJSONObject(transferlist);
+                List<SyTransfer> syTransferList = new ArrayList<>();
+                for (int j=0;j<transferJson.size();j++){
+                    SyTransfer transfer = JSONObject.toJavaObject(transferJson.get(i), SyTransfer.class);
+                    syTransferList.add(transfer);
+                }
+                Ingredient.setSyTransfers(syTransferList);
+            }
             list4.add(Ingredient);
         }