Browse Source

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun

ccjgmwz 3 years ago
parent
commit
1d690c8e09
11 changed files with 71 additions and 22 deletions
  1. 8 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/InOutWarehouseTaskController.java
  2. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockPurchaseReceiptReport.java
  3. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockSaleReceiptReport.java
  4. 6 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IInOutWarehouseTaskService.java
  5. 11 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java
  6. 11 8
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockPurchaseReceiptReportServiceImpl.java
  7. 13 7
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockSaleReceiptReportServiceImpl.java
  8. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java
  9. 8 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java
  10. 2 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInventoryCountInfoServiceImpl.java
  11. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseInventoryCountInfoMapper.xml

+ 8 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/InOutWarehouseTaskController.java

@@ -119,5 +119,13 @@ public class InOutWarehouseTaskController {
     public String checkOrUpdateInOutTask(@RequestBody InOutWarehouseTask inOutWarehouseTask) {
     public String checkOrUpdateInOutTask(@RequestBody InOutWarehouseTask inOutWarehouseTask) {
         return inOutWarehouseTaskService.checkOrUpdateInOutTask(inOutWarehouseTask);
         return inOutWarehouseTaskService.checkOrUpdateInOutTask(inOutWarehouseTask);
     }
     }
+    /**
+     * 查看
+     */
+    @GetMapping("/getTask")
+    public InOutWarehouseTask getTask(@RequestParam String id) {
+        return inOutWarehouseTaskService.getTask(id);
+    }
+
 }
 }
 
 

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockPurchaseReceiptReport.java

@@ -154,6 +154,11 @@ public class StockPurchaseReceiptReport extends BaseModel<StockPurchaseReceiptRe
 
 
     @TableField(exist = false)
     @TableField(exist = false)
     private String taskId;
     private String taskId;
+    /**
+     * 磅单
+     */
+    @TableField(exist = false)
+    private String poundImg;
 
 
     /**
     /**
      *补货结转对象
      *补货结转对象

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/StockSaleReceiptReport.java

@@ -160,6 +160,11 @@ public class StockSaleReceiptReport extends BaseModel<StockSaleReceiptReport> {
 
 
     @TableField(exist = false)
     @TableField(exist = false)
     private List<StockSaleReceiptReport> stockSaleReceiptReportList;
     private List<StockSaleReceiptReport> stockSaleReceiptReportList;
+    /**
+     * 磅单
+     */
+    @TableField(exist = false)
+    private String poundImg;
 
 
 
 
     @Override
     @Override

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IInOutWarehouseTaskService.java

@@ -79,4 +79,10 @@ public interface IInOutWarehouseTaskService extends IService<InOutWarehouseTask>
      * @return
      * @return
      */
      */
     String checkOrUpdateInOutTask(InOutWarehouseTask inOutWarehouseTask);
     String checkOrUpdateInOutTask(InOutWarehouseTask inOutWarehouseTask);
+    /**
+     * 根据ID查看任务
+     * @param id
+     * @return
+     */
+    InOutWarehouseTask getTask(String id);
 }
 }

+ 11 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java

@@ -390,4 +390,15 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
         this.updateById(inOutWarehouseTask);
         this.updateById(inOutWarehouseTask);
         return inOutWarehouseTask.getId();
         return inOutWarehouseTask.getId();
     }
     }
+
+    /**
+     * 查看
+     * @param id
+     * @return
+     */
+    @Override
+    public InOutWarehouseTask getTask(String id) {
+        InOutWarehouseTask inOutWarehouseTask=this.selectById(id);
+        return inOutWarehouseTask;
+    }
 }
 }

+ 11 - 8
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockPurchaseReceiptReportServiceImpl.java

@@ -12,10 +12,7 @@ import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.mapper.StockPurchaseReceiptReportMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.StockPurchaseReceiptReportMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractGoodsInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
-import com.yh.saas.plugin.yiliangyiyun.service.IStockPurchaseReceiptReportService;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,6 +47,8 @@ public class StockPurchaseReceiptReportServiceImpl extends ServiceImpl<StockPurc
     private IContractManagementInfoService contractManagementInfoService;
     private IContractManagementInfoService contractManagementInfoService;
     @Autowired
     @Autowired
     private IContractGoodsInfoService contractGoodsInfoService;
     private IContractGoodsInfoService contractGoodsInfoService;
+    @Autowired
+    private IWarehouseInOutInfoService warehouseInOutInfoService;
 
 
     /**
     /**
      * 采购入库统计
      * 采购入库统计
@@ -86,8 +85,13 @@ public class StockPurchaseReceiptReportServiceImpl extends ServiceImpl<StockPurc
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         List<StockPurchaseReceiptReport> dataList = baseMapper.getListByCondition(pageView);
         List<StockPurchaseReceiptReport> dataList = baseMapper.getListByCondition(pageView);
         if (!CollectionUtils.isEmpty(dataList)) {
         if (!CollectionUtils.isEmpty(dataList)) {
-            dataList.forEach(purchaseReceiptReport1 -> {
-
+            for (StockPurchaseReceiptReport purchaseReceiptReport1:dataList){
+                WarehouseInOutInfo warehouseInOutInfo=warehouseInOutInfoService.selectOne(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("contract_no",purchaseReceiptReport1.getContractNo())
+                .eq("car_no",purchaseReceiptReport1.getCarNo()).eq("warehouse_name",purchaseReceiptReport1.getWarehouseName()));
+                if (warehouseInOutInfo!=null){
+                    purchaseReceiptReport1.setPoundImg(warehouseInOutInfo.getAddressUrl());
+                }
                 String taskId = "";
                 String taskId = "";
                 // 只有待审核状态才有taskId
                 // 只有待审核状态才有taskId
                 if (StringUtils.isNotBlank(purchaseReceiptReport1.getWorkflowId())) {
                 if (StringUtils.isNotBlank(purchaseReceiptReport1.getWorkflowId())) {
@@ -95,8 +99,7 @@ public class StockPurchaseReceiptReportServiceImpl extends ServiceImpl<StockPurc
                     taskId = jsonObject.getString("taskId");
                     taskId = jsonObject.getString("taskId");
                     purchaseReceiptReport1.setTaskId(taskId);
                     purchaseReceiptReport1.setTaskId(taskId);
                 }
                 }
-            });
-
+            }
         }
         }
         Page<StockPurchaseReceiptReport> page = new Page<>();
         Page<StockPurchaseReceiptReport> page = new Page<>();
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);

+ 13 - 7
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/StockSaleReceiptReportServiceImpl.java

@@ -10,14 +10,13 @@ import com.winsea.svc.base.base.service.ICommonRoleResourceService;
 import com.winsea.svc.base.security.entity.User;
 import com.winsea.svc.base.security.entity.User;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
-import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.SalesDeliveryReport;
-import com.yh.saas.plugin.yiliangyiyun.entity.StockSaleReceiptReport;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.mapper.StockSaleReceiptReportMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.StockSaleReceiptReportMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
 import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
 import com.yh.saas.plugin.yiliangyiyun.service.IStockSaleReceiptReportService;
 import com.yh.saas.plugin.yiliangyiyun.service.IStockSaleReceiptReportService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -47,6 +46,8 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
     private ICommonRoleResourceService roleResourceService;
     private ICommonRoleResourceService roleResourceService;
     @Autowired
     @Autowired
     private IContractManagementInfoService contractManagementInfoService;
     private IContractManagementInfoService contractManagementInfoService;
+    @Autowired
+    private IWarehouseInOutInfoService warehouseInOutInfoService;
 
 
     /**
     /**
      * 销售出库统计
      * 销售出库统计
@@ -83,8 +84,14 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         List<StockSaleReceiptReport> dataList = baseMapper.getListByCondition(pageView);
         List<StockSaleReceiptReport> dataList = baseMapper.getListByCondition(pageView);
         if (!CollectionUtils.isEmpty(dataList)) {
         if (!CollectionUtils.isEmpty(dataList)) {
-            dataList.forEach(saleReceiptReport1 -> {
-
+            for (StockSaleReceiptReport saleReceiptReport1:dataList){
+                WarehouseInOutInfo warehouseInOutInfo=warehouseInOutInfoService.selectOne(new EntityWrapper<WarehouseInOutInfo>()
+                        .eq("contract_no",saleReceiptReport1.getContractNo())
+                        .eq("car_no",saleReceiptReport1.getCarNo())
+                        .eq("warehouse_name",saleReceiptReport1.getWarehouseName()));
+                if (warehouseInOutInfo!=null){
+                    saleReceiptReport1.setPoundImg(warehouseInOutInfo.getAddressUrl());
+                }
                 String taskId = "";
                 String taskId = "";
                 // 只有待审核状态才有taskId
                 // 只有待审核状态才有taskId
                 if (StringUtils.isNotBlank(saleReceiptReport1.getWorkflowId())) {
                 if (StringUtils.isNotBlank(saleReceiptReport1.getWorkflowId())) {
@@ -92,8 +99,7 @@ public class StockSaleReceiptReportServiceImpl extends ServiceImpl<StockSaleRece
                     taskId = jsonObject.getString("taskId");
                     taskId = jsonObject.getString("taskId");
                     saleReceiptReport1.setTaskId(taskId);
                     saleReceiptReport1.setTaskId(taskId);
                 }
                 }
-            });
-
+            }
         }
         }
         Page<StockSaleReceiptReport> page = new Page<>();
         Page<StockSaleReceiptReport> page = new Page<>();
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
         page.setRecords(dataList == null ? Lists.newArrayList() : dataList);

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java

@@ -458,7 +458,7 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
         String taskContent = "";
         String taskContent = "";
         List<String> roleIdList = Lists.newArrayList();
         List<String> roleIdList = Lists.newArrayList();
         roleIdList = roleResourceService.getBindRoleIdsByResourceIds(AuthSecurityUtils.getCurrentUserInfo().getCompId(),
         roleIdList = roleResourceService.getBindRoleIdsByResourceIds(AuthSecurityUtils.getCurrentUserInfo().getCompId(),
-                Lists.newArrayList("vehicleDispatching-reprice"));
+                Lists.newArrayList("transportationInfo-Exe"));
         // 向下一步操作人发送任务通知
         // 向下一步操作人发送任务通知
             taskContent =  staffName + "提交的运输单价等待审核";
             taskContent =  staffName + "提交的运输单价等待审核";
         NoticeTaskInfo taskInfo = new NoticeTaskInfo();
         NoticeTaskInfo taskInfo = new NoticeTaskInfo();

+ 8 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -143,7 +143,8 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                         if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                         if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                             Float netWeight = 0f;
                                             Float netWeight = 0f;
                                             for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
                                             for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
-                                                netWeight = netWeight + warehouse.getNetWeight();
+                                                //潮粮累计纯重,干粮累计净重
+                                                netWeight = netWeight + (warehouse.getPureWeight()!=null?warehouse.getPureWeight():warehouse.getNetWeight());
                                             }
                                             }
                                             warehouseNumView.setGoodsName(warehouseInOutInfoAllList.get(0).getGoodsName());
                                             warehouseNumView.setGoodsName(warehouseInOutInfoAllList.get(0).getGoodsName());
                                             warehouseNumView.setInNetWeight(String.valueOf(netWeight));
                                             warehouseNumView.setInNetWeight(String.valueOf(netWeight));
@@ -179,7 +180,8 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                                 .eq("status_flag", "3").eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
                                                 .eq("status_flag", "3").eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
                                         if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                         if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                             for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
                                             for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
-                                                netWeight = netWeight + warehouse.getNetWeight();
+                                                //潮粮累计纯重,干粮累计净重
+                                                netWeight = netWeight + (warehouse.getPureWeight()!=null?warehouse.getPureWeight():warehouse.getNetWeight());
                                             }
                                             }
                                             if (StringUtils.isEmpty(outNetWeight)) {
                                             if (StringUtils.isEmpty(outNetWeight)) {
                                                 outNetWeight = "0";
                                                 outNetWeight = "0";
@@ -240,7 +242,8 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                 if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                 if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                     Float netWeight = 0f;
                                     Float netWeight = 0f;
                                     for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
                                     for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
-                                        netWeight = netWeight + warehouse.getNetWeight();
+                                        //潮粮累计纯重,干粮累计净重
+                                        netWeight = netWeight + (warehouse.getPureWeight()!=null?warehouse.getPureWeight():warehouse.getNetWeight());
                                     }
                                     }
                                     warehouseNumView.setGoodsName(warehouseInOutInfoAllList.get(0).getGoodsName());
                                     warehouseNumView.setGoodsName(warehouseInOutInfoAllList.get(0).getGoodsName());
                                     warehouseNumView.setInNetWeight(String.valueOf(netWeight));
                                     warehouseNumView.setInNetWeight(String.valueOf(netWeight));
@@ -267,7 +270,8 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                         .eq("status_flag", "3").eq("base_id", warehouseBaseInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
                                         .eq("status_flag", "3").eq("base_id", warehouseBaseInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
                                 if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                 if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
                                     for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
                                     for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
-                                        netWeight = netWeight + warehouse.getNetWeight();
+                                        //潮粮累计纯重,干粮累计净重
+                                        netWeight = netWeight + (warehouse.getPureWeight()!=null?warehouse.getPureWeight():warehouse.getNetWeight());
                                     }
                                     }
                                     if (StringUtils.isEmpty(outNetWeight)) {
                                     if (StringUtils.isEmpty(outNetWeight)) {
                                         outNetWeight = "0";
                                         outNetWeight = "0";

+ 2 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInventoryCountInfoServiceImpl.java

@@ -157,6 +157,7 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
             }
             }
             warehouseInventoryCountInfoCopy.setCumulativeStockOut(outNetWeight);
             warehouseInventoryCountInfoCopy.setCumulativeStockOut(outNetWeight);
             warehouseInventoryCountInfoCopy.setGoodsName(warehouseInventoryCountInfo.getGoodsName());
             warehouseInventoryCountInfoCopy.setGoodsName(warehouseInventoryCountInfo.getGoodsName());
+            warehouseInventoryCountInfoCopy.setPhysicalInventory(inNetWeight-outNetWeight);
 
 
         }
         }
         return warehouseInventoryCountInfoCopy;
         return warehouseInventoryCountInfoCopy;
@@ -179,8 +180,8 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
                 .eq("goods_name_key",warehouseInventoryCountInfo.getGoodsNameKey()));
                 .eq("goods_name_key",warehouseInventoryCountInfo.getGoodsNameKey()));
         if (warehousePositionStorageInfo !=null){
         if (warehousePositionStorageInfo !=null){
             warehousePositionStorageInfo.setStorage(warehouseInventoryCountInfo.getPhysicalInventory());
             warehousePositionStorageInfo.setStorage(warehouseInventoryCountInfo.getPhysicalInventory());
+            warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
         }
         }
-        this.updateById(warehouseInventoryCountInfo);
         boolean one = this.insert(warehouseInventoryCountInfo);
         boolean one = this.insert(warehouseInventoryCountInfo);
         // 假如成功返回ok
         // 假如成功返回ok
         if (one) {
         if (one) {

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseInventoryCountInfoMapper.xml

@@ -20,7 +20,7 @@
         cumulative_stock_in as cumulativeStockIn,
         cumulative_stock_in as cumulativeStockIn,
         cumulative_stock_out as cumulativeStockOut,
         cumulative_stock_out as cumulativeStockOut,
         surplus_inventory as surplusInventory,
         surplus_inventory as surplusInventory,
-        physical_inventory as physicalinventory,
+        physical_inventory as physicalInventory,
         loss,
         loss,
         inventory_ratio as inventoryRatio,
         inventory_ratio as inventoryRatio,
         quality_inspector as qualityInspector,
         quality_inspector as qualityInspector,