ccjgmwz 4 年之前
父节点
当前提交
7ee9408fc0

+ 59 - 57
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/report/ReportServiceImpl.java

@@ -476,33 +476,7 @@ public class ReportServiceImpl implements ReportService {
     public String payMoney(ReportDTO reportDTO, Long companyId, Long adminId) throws Exception {
         Date now = new Date();
         List<ReportDTO> list = reportDTO.getList();
-        if (list.size() > 0) {
-            ReportDTO tmp = list.get(0);
-            Wrapper wrapper = new EntityWrapper();
-            wrapper.eq("contract_no", tmp.getContractNo());
-            List<PayDO> payDOS = payMapper.selectList(wrapper);
-            if (payDOS.size() > 0) {
-                PayDO payDO = payDOS.get(0);
-                payDO.setAlreadyPay(payDO.getAlreadyPay() + reportDTO.getPayMoney());
-                payDO.setNotPay(payDO.getNotPay() - reportDTO.getPayMoney());
-                if (payMapper.updateById(payDO) > 0) {
-                } else {
-                    throw new AdminServiceException(ExceptionDefinition.ADMIN_UNKNOWN_EXCEPTION);
-                }
-                PayDetailDO payDetailDO = new PayDetailDO();
-                payDetailDO.setPayNo(payDO.getPayNo());
-                payDetailDO.setPayMoney(reportDTO.getPayMoney());
-                payDetailDO.setPayImg(reportDTO.getPayImg());
-                payDetailDO.setPayDate(sdf.parse(reportDTO.getPayDateStr()));
-                payDetailDO.setGmtUpdate(now);
-                payDetailDO.setGmtCreate(now);
-                payDetailDO.setCompanyId(companyId);
-                payDetailDO.setAdminId(adminId);
-                payDetailMapper.insert(payDetailDO);
 
-
-            }
-        }
         Float money = reportDTO.getPayMoney();
         for (int i = 0; i < list.size(); i++) {
             ReportDTO tmp = list.get(i);
@@ -529,7 +503,7 @@ public class ReportServiceImpl implements ReportService {
             if (buyReportMapper.updateById(buyReportDO) > 0) {
                 List<TradeDO> tradeDOList = tradeMapper.selectList(new EntityWrapper<TradeDO>().eq("trade_contract_no", buyReportDO.getContractNo()));
                 if (CollectionUtils.isNotEmpty(tradeDOList)) {
-                    Map<String, Object> map = new HashMap<>();
+//                    Map<String, Object> map = new HashMap<>();
 //                    map.put("value", buyReportDO.getContractNo());
 //                    map.put("valueOne", buyReportDO.getMoney());
 //                    map.put("page", "pages/user/task");
@@ -538,30 +512,15 @@ public class ReportServiceImpl implements ReportService {
 //                    map.put("header", "您好,您的合同已打款,请注意查收!");
 //                    map.put("remark", "点击进入小程序完成任务");
 //                    sendUtils.sendMessageForDeliver(map);
-                    map = new HashMap<>();
-                    map.put("value", reportDTO.getPayMoney());
-                    map.put("valueOne", sdf.format(new Date()));
-                    map.put("url", reportDTO.getPayImg());
-                    map.put("templateId", "3NM7ujI5vuJSdYlHJAPcYiacrg2YvuyT1Y7BZf9qeNc");
-                    map.put("userId", 21);
-                    map.put("header", "您有新的收款,请及时查收");
-                    map.put("remark", "点击查看凭证");
-                    sendUtils.sendMessageForPay(map);
+
                 }
 
             } else {
                 throw new AdminServiceException(ExceptionDefinition.ADMIN_UNKNOWN_EXCEPTION);
             }
         }
-
-        return "ok";
-    }
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public String payMoneySale(ReportDTO reportDTO, Long companyId, Long adminId) throws Exception {
-        Date now = new Date();
-        List<ReportDTO> list = reportDTO.getList();
         if (list.size() > 0) {
+
             ReportDTO tmp = list.get(0);
             Wrapper wrapper = new EntityWrapper();
             wrapper.eq("contract_no", tmp.getContractNo());
@@ -584,10 +543,27 @@ public class ReportServiceImpl implements ReportService {
                 payDetailDO.setCompanyId(companyId);
                 payDetailDO.setAdminId(adminId);
                 payDetailMapper.insert(payDetailDO);
-
-
             }
+            Map<String, Object> map = new HashMap<>();
+            map.put("value", reportDTO.getPayMoney());
+            map.put("valueOne", sdf.format(new Date()));
+            map.put("url", reportDTO.getPayImg());
+            map.put("templateId", "3NM7ujI5vuJSdYlHJAPcYiacrg2YvuyT1Y7BZf9qeNc");
+            map.put("userId", 21);
+            map.put("header", "您有新的收款,请及时查收");
+            map.put("remark", "点击查看凭证");
+            sendUtils.sendMessageForPay(map);
         }
+
+
+        return "ok";
+    }
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String payMoneySale(ReportDTO reportDTO, Long companyId, Long adminId) throws Exception {
+        Date now = new Date();
+        List<ReportDTO> list = reportDTO.getList();
+
         Float money = reportDTO.getPayMoney();
         for (int i = 0; i < list.size(); i++) {
             ReportDTO tmp = list.get(i);
@@ -614,7 +590,7 @@ public class ReportServiceImpl implements ReportService {
             if (saleReportMapper.updateById(saleReportDO) > 0) {
                 List<TradeDO> tradeDOList = tradeMapper.selectList(new EntityWrapper<TradeDO>().eq("trade_contract_no", saleReportDO.getContractNo()));
                 if (CollectionUtils.isNotEmpty(tradeDOList)) {
-                    Map<String, Object> map = new HashMap<>();
+//                    Map<String, Object> map = new HashMap<>();
 //                    map.put("value", saleReportDO.getContractNo());
 //                    map.put("valueOne", saleReportDO.getMoney());
 //                    map.put("page", "pages/user/task");
@@ -623,22 +599,48 @@ public class ReportServiceImpl implements ReportService {
 //                    map.put("header", "您好,您的合同已打款,请注意查收!");
 //                    map.put("remark", "点击进入小程序完成任务");
 //                    sendUtils.sendMessageForDeliver(map);
-                    map = new HashMap<>();
-                    map.put("value", reportDTO.getPayMoney());
-                    map.put("valueOne", sdf.format(new Date()));
-                    map.put("url", reportDTO.getPayImg());
-                    map.put("templateId", "3NM7ujI5vuJSdYlHJAPcYiacrg2YvuyT1Y7BZf9qeNc");
-                    map.put("userId", 21);
-                    map.put("header", "您有新的收款,请及时查收");
-                    map.put("remark", "点击查看凭证");
-                    sendUtils.sendMessageForPay(map);
+
                 }
 
             } else {
                 throw new AdminServiceException(ExceptionDefinition.ADMIN_UNKNOWN_EXCEPTION);
             }
         }
-
+        if (list.size() > 0) {
+            ReportDTO tmp = list.get(0);
+            Wrapper wrapper = new EntityWrapper();
+            wrapper.eq("contract_no", tmp.getContractNo());
+            List<PayDO> payDOS = payMapper.selectList(wrapper);
+            if (payDOS.size() > 0) {
+                PayDO payDO = payDOS.get(0);
+                payDO.setAlreadyPay(payDO.getAlreadyPay() + reportDTO.getPayMoney());
+                payDO.setNotPay(payDO.getNotPay() - reportDTO.getPayMoney());
+                if (payMapper.updateById(payDO) > 0) {
+                } else {
+                    throw new AdminServiceException(ExceptionDefinition.ADMIN_UNKNOWN_EXCEPTION);
+                }
+                PayDetailDO payDetailDO = new PayDetailDO();
+                payDetailDO.setPayNo(payDO.getPayNo());
+                payDetailDO.setPayMoney(reportDTO.getPayMoney());
+                payDetailDO.setPayImg(reportDTO.getPayImg());
+                payDetailDO.setPayDate(sdf.parse(reportDTO.getPayDateStr()));
+                payDetailDO.setGmtUpdate(now);
+                payDetailDO.setGmtCreate(now);
+                payDetailDO.setCompanyId(companyId);
+                payDetailDO.setAdminId(adminId);
+                payDetailMapper.insert(payDetailDO);
+            }
+            Map<String, Object> map = new HashMap<>();
+            map = new HashMap<>();
+            map.put("value", reportDTO.getPayMoney());
+            map.put("valueOne", sdf.format(new Date()));
+            map.put("url", reportDTO.getPayImg());
+            map.put("templateId", "3NM7ujI5vuJSdYlHJAPcYiacrg2YvuyT1Y7BZf9qeNc");
+            map.put("userId", 21);
+            map.put("header", "您有新的收款,请及时查收");
+            map.put("remark", "点击查看凭证");
+            sendUtils.sendMessageForPay(map);
+        }
         return "ok";
     }
     @Override

+ 38 - 28
unimall-app-api/src/main/java/com/iotechn/unimall/app/api/contract/ContractAppServiceImpl.java

@@ -112,37 +112,47 @@ public class ContractAppServiceImpl implements ContractAppService {
             Float sumNetClose = 0f;
             Double payMoneyClose = 0.00;
             // 采购交易
-            if ("1".equals(tradeDO.getType())) {
-                // 查询任务表
-                List<TaskDO> taskDOList = taskMapper.selectList(new EntityWrapper<TaskDO>().eq("order_no", tradeDO.getOrderNo()).eq("task_type", "入库任务").eq("task_status", TaskStatusType.STATUS2.getCode()));
-                if (CollectionUtils.isNotEmpty(taskDOList)) {
-                    for (TaskDO taskDO : taskDOList) {
-                        TaskDTO taskDTO = new TaskDTO();
-                        // 查询统计表
-                        BuyReportDO buyReportDO = buyReportMapper.selectById(taskDO.getReportId());
-                        if (buyReportDO != null) {
-                            // 结算单价
-                            Double sumTotalSingal = Double.valueOf((buyReportDO.getUnitPrice1() + buyReportDO.getBasis() + buyReportDO.getInvoiceMoney() + buyReportDO.getUnloadingFee() - tradeDO.getPackingMoney() - taskDO.getDeduction())) * taskDO.getNetWeight();
-                            sumTotal = sumTotal + sumTotalSingal;
-                            taskDTO.setSumPrice(sumTotalSingal);
-                            payMoney = payMoney + (buyReportDO.getMoney() - buyReportDO.getNotMoney());
-                            // 平仓
-                            if (buyReportDO.getBuy() != null && buyReportDO.getBuy() != 0) {
-                                TaskDTO taskDTO1 = new TaskDTO();
-                                taskDTO1.setCloseTon(buyReportDO.getNetWeight());
-                                taskDTO1.setSumPriceClose(Double.valueOf(buyReportDO.getUnitPrice1() + buyReportDO.getBasis()) * buyReportDO.getBuy());
-                                sumNetClose = sumNetClose + buyReportDO.getNetWeight();
-                                payMoneyClose = payMoneyClose + taskDTO1.getSumPriceClose();
-                                taskDTOList1.add(taskDTO1);
+            if (tradeDO.getType() == 1) {
+
+                List<BuyReportDO> buyReportDOS = buyReportMapper.selectList(new EntityWrapper<BuyReportDO>().eq("contract_no", contractNo));
+                for(BuyReportDO buyReportDO : buyReportDOS){
+                    if(buyReportDO.getBuy() > 0){
+                        // 查询任务表
+                        List<TaskDO> taskDOList = taskMapper.selectList(new EntityWrapper<TaskDO>().eq("report_id", buyReportDO.getReportId()));
+                        if (CollectionUtils.isNotEmpty(taskDOList)) {
+                            for (TaskDO taskDO : taskDOList) {
+                                TaskDTO taskDTO = new TaskDTO();
+                                // 查询统计表
+                                BuyReportDO buyReportDO = buyReportMapper.selectById(taskDO.getReportId());
+                                if (buyReportDO != null) {
+                                    // 结算单价
+                                    Double sumTotalSingal = Double.valueOf(buyReportDO.getUnitPrice1() - taskDO.getDeduction()) * taskDO.getNetWeight();
+                                    sumTotal = sumTotal + sumTotalSingal;
+                                    taskDTO.setSumPrice(sumTotalSingal);
+                                    payMoney = payMoney + (buyReportDO.getMoney() - buyReportDO.getNotMoney());
+                                    if (buyReportDO.getBuy() != null && buyReportDO.getBuy() != 0) {
+
+                                    }
+                                }
+
+                                taskDTO.setCarNo(taskDO.getCarNo());
+                                taskDTO.setNetWeight(taskDO.getNetWeight());
+                                sumNet = sumNet + taskDO.getNetWeight();
+                                taskDTOList.add(taskDTO);
                             }
                         }
-
-                        taskDTO.setCarNo(taskDO.getCarNo());
-                        taskDTO.setNetWeight(taskDO.getNetWeight());
-                        sumNet = sumNet + taskDO.getNetWeight();
-                        taskDTOList.add(taskDTO);
+                    }
+                    else{
+                        // 平仓
+                        TaskDTO taskDTO1 = new TaskDTO();
+                        taskDTO1.setCloseTon(buyReportDO.getNetWeight());
+                        taskDTO1.setSumPriceClose(Double.valueOf(buyReportDO.getUnitPrice1() + buyReportDO.getBasis()) * buyReportDO.getBuy());
+                        sumNetClose = sumNetClose + buyReportDO.getNetWeight();
+                        payMoneyClose = payMoneyClose + taskDTO1.getSumPriceClose();
+                        taskDTOList1.add(taskDTO1);
                     }
                 }
+
             } else {
                 // 查询任务表
                 List<TaskDO> taskDOList = taskMapper.selectList(new EntityWrapper<TaskDO>().eq("order_no", tradeDO.getOrderNo()).eq("task_type", "出库任务").eq("task_status", TaskStatusType.STATUS2.getCode()));
@@ -153,7 +163,7 @@ public class ContractAppServiceImpl implements ContractAppService {
                         SaleReportDO saleReportDO = saleReportMapper.selectById(taskDO.getReportId());
                         if (saleReportDO != null) {
                             // 结算单价
-                            Double sumTotalSingal = Double.valueOf((saleReportDO.getUnitPrice1() + saleReportDO.getBasis() + saleReportDO.getInvoiceMoney() + taskDTO.getUnloadingFee() - tradeDO.getPackingMoney() - taskDO.getDeduction())) * taskDO.getNetWeight();
+                            Double sumTotalSingal = Double.valueOf(saleReportDO.getUnitPrice1()) * taskDO.getNetWeight();
                             sumTotal = sumTotal + sumTotalSingal;
                             taskDTO.setSumPrice(sumTotalSingal);
                             payMoney = payMoney + (saleReportDO.getMoney());

+ 4 - 3
unimall-app/pageB/contract/contract.vue

@@ -38,14 +38,15 @@
 								<view>合同编号:{{item.contractNo}}</view>
 								<view v-if='item.tradeStatus==2'>已受理</view>
 								<view v-if='item.tradeStatus==3'>已成交</view>
+								<view v-if='item.tradeStatus==4'>已完成</view>
 							</view>
-							<view class='flex justify-between'>
+							<view v-if='item.tradeStatus==2' class='flex justify-between'>
 								<text style='display:inline-block;margin-right:5px;' v-if="item.price">暂定价:{{item.price}}</text>
 								<text style='display:inline-block;margin-right:5px;' v-if="item.basis">基差:{{item.basis}}</text>  
 								<text style='display:inline-block;margin-right:5px;' v-if="item.basis">吨位:{{item.basis}}</text>  
 							</view>
-							<view class='flex justify-between'>
-								<text style='display:inline-block;margin-right:5px;' v-if="item.price">暂定价:{{item.price}}</text>
+							<view v-else class='flex justify-between'>
+								<text style='display:inline-block;margin-right:5px;' v-if="item.price">成交价:{{item.price}}</text>
 								<text style='display:inline-block;margin-right:5px;' v-if="item.basis">基差:{{item.basis}}</text>  
 								<text style='display:inline-block;margin-right:5px;' v-if="item.basis">吨位:{{item.basis}}</text>  
 							</view>

+ 13 - 10
unimall-app/pageB/contract/look.vue

@@ -2,36 +2,39 @@
 	<view class="container">
 		<view style='background:#fff;' class='flex justify-between padding-xl' @click='unfold1()'>
 			<view style='width:80%;margin-top: -4px;' class='flex justify-between'>
-				<text>结算价({{contractInfo.sumNet}})</text>
-				<text>已收({{contractInfo.payMoney}})</text>
-				<text>未收({{contractInfo.notPayMoney}})</text>
+				<text>结算总价({{contractInfo.sumTotal}}元)</text>
+				<text>结算吨数({{contractInfo.sumNet}}吨)</text>
+			</view>
+			<view style='width:80%;margin-top: -4px;' class='flex justify-between'>
+				<text>已收({{contractInfo.payMoney}}元)</text>
+				<text>未收({{contractInfo.notPayMoney}}元)</text>
 			</view>
 			<view :class="isOpen1 ? 'cuIcon-unfold' : 'cuIcon-right'" ></view>
 		</view>
 		<view :class="isOpen1 ? 'content-open' : 'content-close'" class='content1'>
 			<view class='flex justify-between padding-xs'>
 				<view>车牌号</view>
-				<view>净重</view>
-				<view>结算价</view>
+				<view>结算净重(吨)</view>
+				<view>单车结算价(元)</view>
 			</view>
 			<view class='flex justify-between padding-xs' v-for='item in contractInfo.taskDTOList'>
 				<view>{{item.carNo}}</view>
 				<view>{{item.netWeight}}</view>
-				<view>{{item.SumPrice}}</view>
+				<view>{{item.sumPrice}}</view>
 			</view>
 		</view>
 		<view style='background:#fff;' class='flex justify-between padding-xl' @click='unfold2()'>
 			<view style='width:80%;margin-top: -4px;' class='flex justify-between'>
-				<text>平仓({{contractInfo.payMoneyClose}})</text>
-				<text>结算价({{contractInfo.sumNetClose}})</text>
+				<text>平仓({{contractInfo.payMoneyClose}})</text>
+				<text>结算价({{contractInfo.sumNetClose}})</text>
 			</view>
 			
 			<view :class="isOpen2 ? 'cuIcon-unfold' : 'cuIcon-right'" ></view>
 		</view>
 		<view :class="isOpen2 ? 'content-open' : 'content-close'" class='content2'>
 			<view class='flex justify-between padding-xs'>
-				<view>平仓吨数</view>
-				<view>结算单价</view>
+				<view>平仓吨数(吨)</view>
+				<view>结算单价(元)</view>
 			</view>
 			<view class='flex justify-between padding-xs' v-for='item in contractInfo.taskDTOList1'>
 				<view>{{item.closeTon}}</view>

+ 3 - 0
unimall-data/src/main/java/com/iotechn/unimall/data/domain/BuyReportDO.java

@@ -109,5 +109,8 @@ public class BuyReportDO  extends SuperDO {
     /* 库点 */
     @TableField(exist = false)
     private String store;
+    /* 报表id */
+    @TableField("report_id")
+    private Long reportId;
 
 }