Browse Source

保存的部分问题,

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8030 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 years ago
parent
commit
81688bf8ef

+ 3 - 4
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -744,14 +744,13 @@ public class PurchaseTenderController {
     /**
      * 删除对应供应商投标单
      *
-     * @param tender 招标单
+     * @param id 招标单id
      * @param vendUU 删除的投标单的供应商UU
      */
     @RequestMapping(value = "/removeSaleTender", method = RequestMethod.POST)
     @ResponseBody
-    public ResponseEntity<String> removeSaleTender(String tender, Long vendUU) {
-        PurchaseTender purchaseTender = FlexJsonUtils.fromJson(tender, PurchaseTender.class);
-        purchaseTenderService.removeSaleTender(purchaseTender, vendUU);
+    public ResponseEntity<String> removeSaleTender(Long id, Long vendUU) {
+        purchaseTenderService.removeSaleTender(id, vendUU);
         return new ResponseEntity<String>(HttpStatus.OK);
     }
 

+ 3 - 3
src/main/java/com/uas/platform/b2b/model/SaleTenderItem.java

@@ -43,7 +43,7 @@ public class SaleTenderItem implements Serializable{
      * 采购周期
      */
     @Column(name = "sti_cycle")
-    private String cycle;
+    private Long cycle;
 
     /**
      * 说明
@@ -102,11 +102,11 @@ public class SaleTenderItem implements Serializable{
         this.price = price;
     }
 
-    public String getCycle() {
+    public Long getCycle() {
         return cycle;
     }
 
-    public void setCycle(String cycle) {
+    public void setCycle(Long cycle) {
         this.cycle = cycle;
     }
 

+ 2 - 2
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -163,10 +163,10 @@ public interface PurchaseTenderService {
 
     /**
      * 删除对应供应商的
-     * @param purchaseTender
+     * @param id
      * @param vendUU
      */
-    void removeSaleTender(PurchaseTender purchaseTender, Long vendUU);
+    void removeSaleTender(Long id, Long vendUU);
 
 
     /**

+ 31 - 21
src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java

@@ -176,8 +176,9 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
                 Predicate p1 = builder.equal(root.get("ifOpen"), Constant.YES);
                 Predicate p2 = builder.equal(root.get("isPublish"), Constant.YES);
                 Predicate p3 = builder.notEqual(root.get("enUU"), SystemSession.getUser().getEnterprise().getUu());
-                Predicate p4 = builder.notEqual(root.get("status"), "待投标");
-                Predicate predicate = builder.and(p1, p2, p3, p4);
+                Predicate p4 = builder.equal(root.get("overdue"), Constant.NO);
+                Predicate p5 = builder.equal(root.get("status"), "待投标");
+                Predicate predicate = builder.and(p1, p2, p3, p4, p5);
                 query.where(predicate);
                 return null;
             }
@@ -310,15 +311,18 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
             }
             SaleTenderItem tenderItem = new SaleTenderItem();
             // 找不到投标单主表才新建一个
-            SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnterprise().getUu(), enBaseInfo.getUu(), tender.getCode());
-            if (null == saleTender) { // 不存在投标单说明未转投标单,进行新增投标单操作
-                saleTender = new SaleTender(tender);
-                saleTender.setVendUU(enBaseInfo.getUu()); // 投标单主表构造完毕
-                saleTenderDao.save(saleTender);
+            if (tender.getEnUU() != null && tender.getCode() != null) {
+                SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnUU(), vendUU, tender.getCode());
+                if (null == saleTender) { // 不存在投标单说明未转投标单,进行新增投标单操作
+                    saleTender = new SaleTender(tender);
+                    saleTender.setVendUU(vendUU);
+                    saleTender.setEnterpriseBaseInfo(enBaseInfo); // 投标单主表构造完毕
+                    saleTenderDao.save(saleTender);
+                }
+                tenderItem.setSaleTender(saleTender);
+                tenderItem.setTenderProd(tenderProd);
+                saleTenderItemDao.save(tenderItem);
             }
-            tenderItem.setSaleTender(saleTender);
-            tenderItem.setTenderProd(tenderProd);
-            saleTenderItemDao.saveAndFlush(tenderItem);
         }
         tender.setModified(new Date());
         purchaseTenderDao.save(tender);
@@ -364,7 +368,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
      */
     @Override
     public void updateSavedOpen(PurchaseTender purchaseTender) {
-        publishOrSave(purchaseTender, null, false, false);
+        publishOrSave(purchaseTender, null, false, true);
     }
 
     /**
@@ -380,6 +384,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         if (null != oldTender) {
             if (isPublish) {
                 oldTender.setIsPublish(Constant.YES);
+                oldTender.setStatus("待投标");
             } else {
                 oldTender.setIsPublish(Constant.NO);
             }
@@ -513,28 +518,33 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         PurchaseTenderProd tenderProd = purchaseTenderProdDao.findOne(tenderProdId);
         if (null != tenderProd) {
             for (SaleTenderItem saleTenderItem : tenderProd.getSaleTenderItems()) {
-                if (saleTenderItem.getSaleTender() != null) {
-                    saleTenderDao.delete(saleTenderItem.getSaleTender());
-                }
                 saleTenderItemDao.delete(saleTenderItem.getId());
             }
-            purchaseTenderProdDao.delete(tenderProd);
+            purchaseTenderProdDao.delete(tenderProd.getId());
         }
     }
 
     /**
      * 删除对应供应商的投标单
      *
-     * @param purchaseTender
+     * @param id
      * @param vendUU
      */
     @Override
-    public void removeSaleTender(PurchaseTender purchaseTender, Long vendUU) {
-        SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(purchaseTender.getEnUU(), vendUU, purchaseTender.getCode());
-        for (SaleTenderItem saleTenderItem : saleTender.getSaleTenderItems()) {
-            saleTenderItemDao.delete(saleTenderItem.getId());
+    public void removeSaleTender(Long id, Long vendUU) {
+        PurchaseTender purchaseTender = purchaseTenderDao.findOne(id);
+        if (purchaseTender != null) {
+            SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(purchaseTender.getEnUU(), vendUU, purchaseTender.getCode());
+            if (saleTender != null) {
+                for (SaleTenderItem saleTenderItem : saleTender.getSaleTenderItems()) {
+                    saleTenderItemDao.delete(saleTenderItem.getId());
+                }
+                SaleTender oldSaleTender = saleTenderDao.findOne(saleTender.getId());
+                if (oldSaleTender != null) {
+                    saleTenderDao.delete(oldSaleTender);
+                }
+            }
         }
-        saleTenderDao.delete(saleTender);
     }
 
 

+ 26 - 30
src/main/webapp/resources/js/index/app.js

@@ -11186,21 +11186,31 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
         };
 
         // 删除供应商时,后台删除投标单
-        $scope.removeSaleTender = function (tender, vendUU) {
-            PurcTender.removeSaleTender ({}, {tender : tender, vendUU : vendUU}, function(data) {
-
-            }, function(response) {
-                toaster.pop('error', '提示', response.data);
+        $scope.removeSaleTender = function (id, vendUU) {
+            var hasSaved = false;
+            angular.forEach($scope.tender.purchaseTenderProds[0].saleTenderItems, function(saleTenderItem) {
+                if (saleTenderItem.saleTender.vendUU === vendUU) { //有相等的说明是之前保存过的供应商
+                    hasSaved =  true;
+                }
             });
+            if (hasSaved) {
+                PurcTender.removeSaleTender ({id : id, vendUU : vendUU}, {},  function(data) {
+
+                }, function(response) {
+                    toaster.pop('error', '提示', response.data);
+                });
+            }
         };
 
         // 删除产品明细时,后台删除产品明细
-        $scope.deleteProd = function (tenderProdId) {
-            PurcTender.deleteProd ({}, {tenderProdId : tenderProdId}, function(data) {
+        $scope.deleteProd = function (tenderProd) {
+            if (tenderProd.id) {
+                PurcTender.deleteProd ({tenderProdId : tenderProd.id}, {},  function(data) {
 
-            }, function(response) {
-                toaster.pop('error', '提示', response.data);
-            });
+                }, function(response) {
+                    toaster.pop('error', '提示', response.data);
+                });
+            }
         };
 
         // // 查找客户物料
@@ -11248,9 +11258,9 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 
         $scope.removeAttach = function(id, index) {
             $scope.attaches.splice(index, 1);
-            PurcTender.removeAttach({attachId:id}, function() {
-
-            });
+            // PurcTender.removeAttach({attachId:id}, function() {
+            //
+            // });
         };
 
         var sleep = function (d){
@@ -11339,7 +11349,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
 
         // 更新和发布(在录入状态)
         $scope.updateSaved = function(isPublish){
-            if (!$scope.tender.ifOpen && (!$scope.tenderProd.enterpriseBaseInfo || $scope.tenderProd.enterpriseBaseInfo.length === 0)) { // 指定供应商招标,而未选择供应商时
+            if (Number($scope.tender.ifOpen) === 0 && (!$scope.tenderProd.enterpriseBaseInfo || $scope.tenderProd.enterpriseBaseInfo.length === 0)) { // 指定供应商招标,而未选择供应商时
                 toaster.pop('info','提示','请先指定供应商');
             } else {
                 $scope.loading = true;
@@ -11639,6 +11649,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             PurcTender.getOne({id: $stateParams.id}, function(data){
                 data.$editing = false;
                 $scope.tender = data;
+                console.log(typeof data.purchaseTenderProds[0].saleTenderItems[0].cycle);
                 $scope.tableParams = new ngTableParams({}, { dataset: data});
                 // $scope.tableParams.sorting($scope.sort.field, $scope.sort.desc);
                 $scope.loading  = false;
@@ -11649,21 +11660,6 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
         }
         evaluation();
 
-        // 设置排序方式
-        $scope.setSort = function(field, desc) {
-            if(field == 'price' && $scope.sort.field != 'price') {// 切换到价格排序时先升序排序
-                desc = 'asc';
-            } else if( ! desc) {
-                // if($scope.sort.desc == 'asc') {
-                //     desc = 'desc';
-                // } else {
-                //     desc = 'asc';
-                // }
-            }
-            $scope.sort = {field: field, desc: desc};
-            $scope.tableParams.sorting($scope.sort.field, $scope.sort.desc);
-        };
-
 
         $scope.orderType = 'price';
         // $scope.dir = '-';
@@ -12267,7 +12263,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                 //     });
                 // });
                 toaster.pop('success', '成功', '转投标单成功');
-                window.location.reload();
+                window.location.hash = "#/sale/tender/" + id;
             }, function(response){
                 toaster.pop('error', '操作失败', response.data);
             });

+ 8 - 6
src/main/webapp/resources/tpl/index/purc/saved_tender.html

@@ -22,8 +22,8 @@
         font-size: 14px;
     }
     .purc-tender .row {
-        margin-left: 0px;
-        margin-right: 0px;
+        margin-left: 0;
+        margin-right: 0;
         padding-left: 15px;
         padding-right: 15px;
     }
@@ -194,6 +194,7 @@
         opacity: 0;
         filter:alpha(opacity=0);
         cursor:pointer;
+        overflow: hidden;
     }
     /* 图片点击上传 */
     /*.upload-bg {*/
@@ -511,8 +512,9 @@
                             </a>
                         </div>
                         <span ng-show = "changeShipAddress">
-                             <select class="select select-address fl" style="width: 70%; height: 30px;" ng-model="tender.shipAddress"
+                             <select class="select select-address fl" style="width: 70%; height: 30px;" ng-model="tender.shipadd"
                                      ng-options="(ship.address + ship.addressdet + ' ' + ship.receiver + ' ' + ship.usertel) for ship in ships">
+                                 <option value="">请选择收货地址</option>
 							</select>
                             <!--<a class="cancel-address" ng-click="changeAddress()">
                                 取消
@@ -532,7 +534,7 @@
                             <input type="text" ng-model="tender.endDate" required
                                    class="form-control" placeholder="点击选择截止日期" readonly="readonly"
                                    datepicker-popup="yyyy-MM-dd" is-open="condition.$fromOpened"
-                                   ng-required="true" max-date="tender.publishDate" current-text="今天" min-date = "currentDay()"
+                                   ng-required="true" max-date="getMaxDate()" current-text="今天" min-date = "currentDay()"
                                    clear-text="清除" close-text="关闭"
                                    datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
                                    ng-click="openDatePicker($event, condition, '$fromOpened')"
@@ -624,7 +626,7 @@
                                         </span>
                                         <span class="codeInput"><input type="text" ng-model="prod.unit" placeholder="点击填入单位" required/></span>
                                         <span class="codeInput" style="margin-left: 4px;"><input type="text" ng-model="prod.qty" ng-pattern="/^\+?[1-9][0-9]*$/" placeholder="点击填入数量" required/></span>
-                                        <span class="wid03"><a ng-click="del($index);deleteProd(prod.id);"><i class="fa fa-close"></i></a></span>
+                                        <span class="wid03"><a ng-click="del($index);deleteProd(prod);"><i class="fa fa-close"></i></a></span>
                                     </dd>
                                 </div>
                             </dl>
@@ -665,7 +667,7 @@
                                    ng-required="tender.ifOpen == 0">
                         </div>
                         <div class="col-xs-1">
-                            <a class="remove-vendor" href="javascript:void(0)" ng-click="removeVendor($index);removeSaleTender(tender, en.uu);" title="删除"><i class="fa fa-trash-o fa-lg"></i></a>
+                            <a class="remove-vendor" href="javascript:void(0)" ng-click="removeVendor($index);removeSaleTender(tender.id, en.uu);" title="删除"><i class="fa fa-trash-o fa-lg"></i></a>
                         </div>
                     </div>
                     <div class="col-xs-12" style="border-bottom: 1px dashed #327ebe;">

+ 2 - 2
src/main/webapp/resources/tpl/index/purc/tender_evaluation.html

@@ -350,9 +350,9 @@
                                 <dt>
                                     <span class="wid01">投标供应商</span>
                                     <span>税率(% )</span>
-                                    <span><a class="" ng-click="changeOrder('price')">单价<i class="fa fa-angle-down fa-lg" title="按最低单价排序"></i></a></span>
+                                    <span><a class="" ng-click="changeOrder('price')" ng-disabled="tender.overdue != 1">单价<i class="fa fa-angle-down fa-lg" title="按最低单价排序"></i></a></span>
                                     <span>含税金额</span>
-                                    <span><a class="" ng-click="changeOrder('cycle')" title="按最短周期排序">采购周期<i class="fa fa-angle-down fa-lg"></i></a></span>
+                                    <span><a class="" ng-click="changeOrder('cycle')" ng-disabled="tender.overdue != 1" title="按最短周期排序">采购周期<i class="fa fa-angle-down fa-lg"></i></a></span>
                                     <span class="wid02">说明</span>
                                     <span>定标</span>
                                     <span>不定标</span>

+ 1 - 1
src/main/webapp/resources/tpl/index/purc/tender_vendor.html

@@ -28,7 +28,7 @@
             <div class="col-md-8 col-sm-8">
                 <input type="text" class="form-control input-sm"
                        required placeholder="输入供应商名称关键字查询" autofocus ng-model="keyword" ng-search="onSearch(keyword)"/>
-                <a class="btn input-group-addon" ng-click="onSearch()">搜索</a>
+                <a class="btn input-group-addon" ng-click="onSearch(keyword)">搜索</a>
             </div>
         </div>
     </form>

+ 1 - 1
src/main/webapp/resources/tpl/index/sale/tender.html

@@ -311,7 +311,7 @@
                                     <span class="wid01">
                                         <p>产品型号:{{prod.prodCode}}</p>
                                         <p>产品类型:{{prod.prodTitle}}</p>
-                                        <!--<p>产品规格:<span ng-bind="prod.prodSpec"></span></p>-->
+                                        <p>品牌:<span ng-bind="prod.brand || ''"></span></p>
                                     </span>
                                     <span ng-bind="prod.unit"></span>
                                     <span ng-bind="prod.qty"></span>

+ 7 - 4
src/main/webapp/resources/tpl/index/sale/tenderlist.html

@@ -373,8 +373,9 @@
             <tbody class="not-done" ng-repeat="tender in $data" ng-show="active != 'done' && active != 'waiting'">
             <tr>
                 <td class="list-notnum" width=300">
+                    <div>招标企业:{{tender.enterprise.enName}}</div>
                     <div>
-                        标题:{{tender.title}}
+                        招标标题:{{tender.title}}
                     </div>
                     <div>
                         {{tender.code}}
@@ -467,15 +468,17 @@
                         <a ui-sref="sale.tender({id:tender.id})" target="_self" title="点击查看详情">查看详情</a>
                     </div>
                 </td>
-                <td class="list-notnum" width="150" colspan="2">
+                <td class="list-notnum" width="300" colspan="2">
                     <div>招标单号:{{tender.code}}</div>
                     <div>招标类型:
                         <strong ng-if="tender.ifOpen == 0">指定招标</strong>
                         <strong ng-if="tender.ifOpen == 1">公开招标</strong>
                     </div>
                 </td>
-                <td class="" width="150">联系人:{{tender.user}}</td>
-                <td class="" width="150">{{tender.userTel}}</td>
+                <td class="list-notnum" width="300" colspan="2">
+                    <div>招标企业:{{tender.enterprise.enName}}</div>
+                    <div>联系人:{{tender.user}}&nbsp;&nbsp{{tender.userTel}}</div>
+                </td>
                 <!--<td width="150">-->
                     <!-- 招标单状态 -->
                     <!--<div ng-if="tender.status == '已结标'">-->