ccjgmwz 3 years ago
parent
commit
8b6c7a0868

+ 47 - 32
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/collect/CollectServiceImpl.java

@@ -268,48 +268,61 @@ public class CollectServiceImpl implements CollectService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public String paifa(CollectDTO collectDTO, Long adminId, Long companyId) throws ServiceException, ParseException, IOException, WriterException {
         List<CollectDTO> list = collectDTO.getList();
+        List<CollectDTO> listTmp = new ArrayList<>();
         String sendCarNo = GeneratorUtil.genOrderId("CAR");
         Date now=new Date();
         for(int i=0;i<list.size();i++) {
             CollectDTO tmp = list.get(i);
-            TaskDO taskDO = new TaskDO();
-            taskDO.setSendCarNo(sendCarNo);
-            taskDO.setTaskType("出库任务");
-            taskDO.setCollectDetailId(tmp.getId());
-            taskDO.setTaskStatus(TaskStatusType.STATUS1.getCode());
-            taskDO.setCarNo(tmp.getCarNo());
-            taskDO.setBoxNo(tmp.getBoxNo());
-            taskDO.setTitleNo(tmp.getTitleNo());
-            taskDO.setGmtCreate(now);
-            taskDO.setGmtUpdate(now);
-            taskDO.setCompanyId(companyId);
-            taskDO.setSendTime(now);
-            taskDO.setUserId(tmp.getOutPerson());
-            Wrapper wrapper = new EntityWrapper();
-            wrapper.eq("trade_contract_no", tmp.getContractNo());
-            List<TradeDO> tradeDOS = tradeMapper.selectList(wrapper);
-            if (tradeDOS.size() > 0) {
-                TradeDO tradeDO = tradeDOS.get(0);
-                taskDO.setAdminId(tradeDO.getAdminId());
-                taskDO.setOrderNo(tradeDO.getOrderNo());
-                SaleDO saleDO = saleMapper.selectById(tradeDO.getSalebuyId());
-                taskDO.setStoreId(saleDO.getStoreId());
-
+            if(tmp.getChangeFlag()){
+                TaskDO taskDO = taskMapper.selectById(tmp.getId());
+                taskDO.setCarNo(tmp.getCarNo());
+                taskDO.setBoxNo(tmp.getBoxNo());
+                taskDO.setGmtUpdate(now);
+                if (taskMapper.updateById(taskDO) > 0) {
+                }
             }
-            if (taskMapper.insert(taskDO) > 0) {
+            else{
+                listTmp.add(tmp);
+                TaskDO taskDO = new TaskDO();
+                taskDO.setSendCarNo(sendCarNo);
+                taskDO.setTaskType("出库任务");
+                taskDO.setCollectDetailId(tmp.getId());
+                taskDO.setTaskStatus(TaskStatusType.STATUS1.getCode());
+                taskDO.setCarNo(tmp.getCarNo());
+                taskDO.setBoxNo(tmp.getBoxNo());
+                taskDO.setTitleNo(tmp.getTitleNo());
+                taskDO.setGmtCreate(now);
+                taskDO.setGmtUpdate(now);
+                taskDO.setCompanyId(companyId);
+                taskDO.setSendTime(now);
+                taskDO.setUserId(tmp.getOutPerson());
+                Wrapper wrapper = new EntityWrapper();
+                wrapper.eq("trade_contract_no", tmp.getContractNo());
+                List<TradeDO> tradeDOS = tradeMapper.selectList(wrapper);
+                if (tradeDOS.size() > 0) {
+                    TradeDO tradeDO = tradeDOS.get(0);
+                    taskDO.setAdminId(tradeDO.getAdminId());
+                    taskDO.setOrderNo(tradeDO.getOrderNo());
+                    SaleDO saleDO = saleMapper.selectById(tradeDO.getSalebuyId());
+                    taskDO.setStoreId(saleDO.getStoreId());
 
+                }
+                if (taskMapper.insert(taskDO) > 0) {
+
+                }
             }
 
         }
         Long userId = null;
-        for(int i = 0;i<list.size();i+=2){
-            CollectDTO tmp = list.get(i);
-            if(list.size()%2!=0) {
-                if (list.size() >= i + 2) {
+        for(int i = 0;i<listTmp.size();i+=2){
+            CollectDTO tmp = listTmp.get(i);
+            if(listTmp.size()%2!=0) {
+                if (listTmp.size() >= i + 2) {
                     Map<String, Object> map = new HashMap<>();
-                    map.put("value", tmp.getCarNo() + "/" + list.get(i + 1).getCarNo());
+                    map.put("value", tmp.getCarNo() + "/" + listTmp.get(i + 1).getCarNo());
                     map.put("valueOne", "出库任务");
                     map.put("page", "pages/user/task");
                     map.put("templateId", "4VAjIhIi3y1HUp_n_t2YXB7TLc328yVr5neAiq8Inrk");
@@ -330,9 +343,9 @@ public class CollectServiceImpl implements CollectService {
                 }
             }
             else{
-                if (list.size() >= i + 2) {
+                if (listTmp.size() >= i + 2) {
                     Map<String, Object> map = new HashMap<>();
-                    map.put("value", tmp.getCarNo() + "/" + list.get(i + 1).getCarNo());
+                    map.put("value", tmp.getCarNo() + "/" + listTmp.get(i + 1).getCarNo());
                     map.put("valueOne", "出库任务");
                     map.put("page", "pages/user/task");
                     map.put("templateId", "4VAjIhIi3y1HUp_n_t2YXB7TLc328yVr5neAiq8Inrk");
@@ -344,8 +357,9 @@ public class CollectServiceImpl implements CollectService {
 
             }
             userId = tmp.getOutPerson();
+
         }
-        geTuiUtils.pushByCid("新任务提醒","您收到了"+list.size()+"个出库任务,请及时完成",userId);
+        geTuiUtils.pushByCid("新任务提醒","您收到了"+listTmp.size()+"个出库任务,请及时完成",userId);
         return "OK";
     }
 
@@ -360,6 +374,7 @@ public class CollectServiceImpl implements CollectService {
         for(TaskDO taskDO : list){
             TaskDTO taskDTO = new TaskDTO();
             BeanUtils.copyProperties(taskDO,taskDTO);
+            taskDTO.setChangeFlag(false);
             list2.add(taskDTO);
         }
         return list2;

+ 1 - 0
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/trade/TradeService.java

@@ -78,6 +78,7 @@ public interface TradeService {
     TradeDO finish(
             @NotNull @HttpParam(name = "id", type = HttpParamType.COMMON, description = "主键") Long id,
             @HttpParam(name = "allCount", type = HttpParamType.COMMON, description = "执行数量") Float allCount,
+            @HttpParam(name = "finalPrice", type = HttpParamType.COMMON, description = "最终结算价") Float finalPrice,
             @NotNull @HttpParam(name = "status", type = HttpParamType.COMMON, description = "状态") Integer status,
             @NotNull @HttpParam(name = "adminId", type = HttpParamType.ADMIN_ID, description = "管理员Id") Long adminId) throws ServiceException;
     @HttpMethod(description = "查询动态", permission = "trade:trade:listDynamic", permissionParentName = "数据维护", permissionName = "交易管理")

+ 28 - 2
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/trade/TradeServiceImpl.java

@@ -475,8 +475,9 @@ public class TradeServiceImpl implements TradeService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public TradeDO finish(Long id, Float allCount, Integer status, Long adminId) throws ServiceException {
+    public TradeDO finish(Long id, Float allCount,Float finalPrice, Integer status, Long adminId) throws ServiceException {
         TradeDO tradeDO = tradeMapper.selectById(id);
+        Date now = new Date();
         if (tradeDO == null) {
             throw new AdminServiceException(ExceptionDefinition.SALE_NOT_EXIST);
         }
@@ -488,10 +489,35 @@ public class TradeServiceImpl implements TradeService {
         }
 
         tradeDO.setStatus(status);
-        tradeDO.setGmtUpdate(new Date());
+        tradeDO.setGmtUpdate(now);
+        tradeDO.setUnitPrice(finalPrice);
         if (tradeMapper.updateById(tradeDO) <= 0) {
             throw new AdminServiceException(ExceptionDefinition.SALE_UPDATE_SQL_FAILED);
         }
+        Wrapper wrapper = new EntityWrapper();
+        wrapper.eq("work_no",tradeDO.getOrderNo());
+        List<CollectDO> collectDOS = collectMapper.selectList(wrapper);
+        if(collectDOS.size() > 0)
+        {
+            CollectDO collectDO = collectDOS.get(0);
+            collectDO.setShouldCollect(CalculationUtil.mul(CalculationUtil.add(tradeDO.getUnitPrice(), tradeDO.getBasis()), tradeDO.getCount()));
+            collectDO.setNotCollect(CalculationUtil.sub(collectDO.getShouldCollect(),collectDO.getAlreadyCollect()));
+            collectDO.setGmtUpdate(now);
+            if (collectMapper.updateById(collectDO) <= 0) {
+                throw new AdminServiceException(ExceptionDefinition.SALE_UPDATE_SQL_FAILED);
+            }
+            MessageDO messageDO = new MessageDO();
+            messageDO.setCustomer("交易单号:" + tradeDO.getOrderNo());
+            messageDO.setOperation("已完成");
+            messageDO.setResult("最终结算价:" + tradeDO.getUnitPrice());
+            messageDO.setGmtUpdate(now);
+            messageDO.setGmtCreate(now);
+            messageDO.setUserId(tradeDO.getUserId());
+            messageDO.setCompanyId(tradeDO.getCompanyId());
+            messageDO.setPath("/finance/collect");
+            messageMapper.insert(messageDO);
+            webSocket.sendMessageByRole(messageDO, "财务", tradeDO.getCompanyId());
+        }
         return tradeDO;
     }
 

+ 2 - 1
unimall-admin/src/api/trade.js

@@ -93,7 +93,7 @@ export function freezeOrActivtion(id, status, contractNo, packing, basis, priceC
     }
   })
 }
-export function finish(id, allCount, status) {
+export function finish(id, allCount, finalPrice, status) {
   return request({
     method: 'post',
     params: {
@@ -101,6 +101,7 @@ export function finish(id, allCount, status) {
       _mt: 'finish',
       id: id,
       allCount: allCount,
+      finalPrice: finalPrice,
       status: status
     }
   })

+ 20 - 7
unimall-admin/src/views/collect/collect.vue

@@ -235,6 +235,7 @@
         />
         <el-table
           :data="collectDataList"
+          height="450"
           highlight-current-row
         >
           <el-table-column v-if="false" label="id" prop="id">
@@ -247,12 +248,12 @@
           </el-table-column>
           <el-table-column align="center" label="箱号" prop="boxNo">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.boxNo" :readonly="scope.row.id == undefined ? false : true "/>
+              <el-input v-model="scope.row.boxNo" :readonly="scope.row.taskStatus == 1 ||scope.row.id == undefined ? false : true " @input="boxNoInput(scope.row.id)"/>
             </template>
           </el-table-column>
           <el-table-column align="center" label="封号" prop="boxNo">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.titleNo" :readonly="scope.row.id == undefined ? false : true "/>
+              <el-input v-model="scope.row.titleNo" :readonly="scope.row.taskStatus == 1 || scope.row.id == undefined ? false : true " @input="boxNoInput(scope.row.id)"/>
             </template>
           </el-table-column>
         </el-table>
@@ -473,6 +474,15 @@ export default {
     })
   },
   methods: {
+    boxNoInput(id) {
+      if (id != undefined && id != null) {
+        for (let i=0; i<this.collectDataList.length; i++) {
+          if (this.collectDataList[i].id == id) {
+            this.collectDataList[i].changeFlag = true
+          }
+        }
+      }
+    },
     typeFormat1(row, column) {
       return this.selectDictLabel(this.paymentMethod, row.paymentMethod)
     },
@@ -517,7 +527,8 @@ export default {
     },
     addCollect() {
       var tmp = {
-        id: undefined
+        id: undefined,
+        changeFlag: false
       }
       this.collectDataList.push(tmp)
     },
@@ -558,10 +569,12 @@ export default {
         list: []
       }
       for (var i=0; i<this.collectDataList.length; i++) {
-        if (this.collectDataList[i].id == undefined || this.collectDataList[i].id == null) {
-          this.collectDataList[i].outPerson=this.paifaForm.outPerson
-          this.collectDataList[i].contractNo=this.paifaForm.contractNo
-          params.list.push(this.collectDataList[i])
+        if (this.collectDataList[i].id == undefined || this.collectDataList[i].id == null||this.collectDataList[i].changeFlag) {
+          if (this.collectDataList[i].carNo != null) {
+            this.collectDataList[i].outPerson=this.paifaForm.outPerson
+            this.collectDataList[i].contractNo=this.paifaForm.contractNo
+            params.list.push(this.collectDataList[i])
+          }
         }
       }
       paifaCollect(params)

+ 16 - 1
unimall-admin/src/views/trade/trade.vue

@@ -506,6 +506,14 @@
         >
           <el-input v-model="finishForm.allCount" />
         </el-form-item>
+        <el-form-item
+          v-if="finishForm.type == 0"
+          style="margin-top:30px"
+          label="最终结算价格"
+          prop="finalPrice"
+        >
+          <el-input v-model="finishForm.finalPrice" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="finishVisible = false">取消</el-button>
@@ -533,6 +541,12 @@
             v-model="informationForm.companyName"
           />
         </el-form-item>
+        <el-form-item v-if="informationForm.personNo" label="身份证号">
+          <el-input
+            :readonly="readonly"
+            v-model="informationForm.personNo"
+          />
+        </el-form-item>
         <el-form-item
           v-if="informationForm.identificationNo"
           label="纳税人识别号"
@@ -1223,6 +1237,7 @@ export default {
     },
     handlefinish(row) {
       this.finishForm.id = row.id
+      this.finishForm.type = row.type
       this.finishVisible = true
     },
     finishData(row) {
@@ -1230,7 +1245,7 @@ export default {
         if (valid) {
           console.log(row)
           this.submiting = true
-          finish(row.id, row.allCount, 4)
+          finish(row.id, row.allCount, row.finalPrice, 4)
             .then(() => {
               this.finishVisible = false
               this.submiting = false

+ 22 - 8
unimall-app-api/src/main/java/com/iotechn/unimall/app/api/company/GetCompanyServiceImpl.java

@@ -25,7 +25,7 @@ import java.util.List;
 @Service
 
 public class GetCompanyServiceImpl implements GetCompanyService {
-    @Resource
+    @Autowired
     private CompanyMapper companyMapper;
     @Autowired
     private CacheComponent cacheComponent;
@@ -56,10 +56,18 @@ public class GetCompanyServiceImpl implements GetCompanyService {
         }
         companyDO.setGmtCreate(now);
         companyDO.setGmtUpdate(now);
-        Integer insert = companyMapper.insert(companyDO);
-       if(insert==0){
-           return ResultVO.fail(ErrorCodeEnums.ERROR_ADD_EXCEPTION);
-       }
+        CompanyDO companyDO1 = companyMapper.selectById(2l);
+        companyDO.setMarginLevel(companyDO1.getMarginLevel());
+        CompanyDO checkDO = companyMapper.getCompanyList(companyDO.getPersonName(),companyDO.getCompanyPhone(),companyDO.getPersonNo());
+        if(checkDO != null && checkDO.getCheckFlag().equals("exist")){
+            return ResultVO.fail(ErrorCodeEnums.ERROR_CHCEK_EXCEPTION);
+        }
+        else{
+            Integer insert = companyMapper.insert(companyDO);
+            if(insert==0){
+                return ResultVO.fail(ErrorCodeEnums.ERROR_ADD_EXCEPTION);
+            }
+        }
        return ResultVO.success();
     }
     //修改
@@ -72,9 +80,15 @@ public class GetCompanyServiceImpl implements GetCompanyService {
         Date now = new Date();
         companyDO.setUserId(userId);
         companyDO.setGmtUpdate(now);
-        Integer integer = companyMapper.updateById(companyDO);
-        if(integer==0){
-            return ResultVO.fail(ErrorCodeEnums.ERROR_UPDATE_EXCEPTION);
+        CompanyDO checkDO = companyMapper.getCompanyList(companyDO.getPersonName(),companyDO.getCompanyPhone(),companyDO.getPersonNo());
+        if(checkDO != null && checkDO.getCheckFlag().equals("exist")){
+            return ResultVO.fail(ErrorCodeEnums.ERROR_CHCEK_EXCEPTION);
+        }
+        else{
+            Integer integer = companyMapper.updateById(companyDO);
+            if(integer==0){
+                return ResultVO.fail(ErrorCodeEnums.ERROR_UPDATE_EXCEPTION);
+            }
         }
         return ResultVO.success();
     }

+ 1 - 0
unimall-app-api/src/main/java/com/iotechn/unimall/app/common/ErrorCodeEnums.java

@@ -25,6 +25,7 @@ public enum ErrorCodeEnums {
         ERROR_ADD_EXCEPTION("1002","新增信息失败!"),
         ERROR_UPDATE_EXCEPTION("1003","修改信息失败!"),
         ERROR_DELETE_EXCEPTION("1004","删除信息失败!"),
+        ERROR_CHCEK_EXCEPTION("1005","该名头已存在,保存失败!"),
 
 
 

+ 11 - 11
unimall-app/pageA/pages/newcompany.vue

@@ -2,11 +2,11 @@
 	<view class="container" style='padding-bottom: 190rpx;'>
 		<view>
 		<view class="cu-form-group">
-			<radio-group name="" @change='radioChange'>
+			<!-- <radio-group name="" @change='radioChange'>
 				<label v-for='(item,index) in list'  class="radio">
 					<radio :value="item.value" :checked='item.value==status' style="transform:scale(0.7);color:#000;" /><text>{{item.name}}</text>
 			    </label>
-			</radio-group>
+			</radio-group> -->
 			</view>
 			<view v-if='status==0' class="cu-form-group">
 				<view  class="title">公司名称</view>
@@ -18,7 +18,7 @@
 			</view>
 			<view class="cu-bar bg-white">
 					<view class="action">
-						身份证(正、反面)上传
+						身份证(正面)上传
 					</view>
 				</view>
 				<view class="cu-form-group">
@@ -29,13 +29,13 @@
 								<text class='cuIcon-close'></text>
 							</view>
 						</view>
-						<view class="bg-img" v-if="data.personNoImg1 != ''" @tap="ViewImage" :data-url="data.personNoImg1">
+						<!-- <view class="bg-img" v-if="data.personNoImg1 != ''" @tap="ViewImage" :data-url="data.personNoImg1">
 						 <image :src="data.personNoImg1" mode="aspectFit"></image>
 							<view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="1">
 								<text class='cuIcon-close'></text>
 							</view>
-						</view>
-						<view class="solids" @tap="ChooseImagePerson" v-if="data.personNoImg == '' || data.personNoImg1 == ''">
+						</view> -->
+						<view class="solids" @tap="ChooseImagePerson" v-if="data.personNoImg == '' ">
 							<text class='cuIcon-cameraadd'></text>
 						</view>
 					</view>
@@ -54,7 +54,7 @@
 				</view>
 				<view class="cu-bar bg-white">
 					<view class="action">
-						银行卡(正、反面)上传
+						银行卡(正)上传
 					</view>
 				</view>
 				<view class="cu-form-group">
@@ -65,13 +65,13 @@
 								<text class='cuIcon-close'></text>
 							</view>
 						</view>
-						<view class="bg-img" v-if="data.bankImg1 != ''" @tap="ViewImage" :data-url="data.bankImg1">
+						<!-- <view class="bg-img" v-if="data.bankImg1 != ''" @tap="ViewImage" :data-url="data.bankImg1">
 							<image :src="data.bankImg1" mode="aspectFit"></image>
 							<view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="3">
 								<text class='cuIcon-close'></text>
 							</view>
-						</view>
-						<view class="solids" @tap="ChooseImageBank" v-if="data.bankImg == '' || data.bankImg1 == ''">
+						</view> -->
+						<view class="solids" @tap="ChooseImageBank" v-if="data.bankImg == '' ">
 							<text class='cuIcon-cameraadd'></text>
 						</view>
 					</view>
@@ -183,7 +183,7 @@
 					{name:'公司',value:0},
 					{name:'个人',value:1}
 				],
-				status:0,
+				status:1,
 				verifyCode:'',
 				sendText:'获取验证码',
 				sendDisabled: false,

+ 1 - 1
unimall-app/pages/user/user.vue

@@ -147,7 +147,7 @@
 							icon:'cuIcon-copy',
 							tips: 0,
 							url:`/pages/user/task`,
-							show:false
+							show:true
 						},
 						{
 							num:5,

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

@@ -81,5 +81,8 @@ public class CompanyDO extends SuperDO {
     @TableField(exist = false)
     private String tradId;
 
+    /* 交易id  */
+    @TableField(exist = false)
+    private String checkFlag;
 
 }

+ 1 - 0
unimall-data/src/main/java/com/iotechn/unimall/data/dto/CollectDTO.java

@@ -51,4 +51,5 @@ public class CollectDTO extends SuperDTO {
     //已完成数量
     private Float alreadyNum;
     private String invoiceType;
+    private Boolean changeFlag;
 }

+ 1 - 0
unimall-data/src/main/java/com/iotechn/unimall/data/dto/TaskDTO.java

@@ -118,4 +118,5 @@ public class TaskDTO {
     private Float invoiceMoney;
     //包装要求
     private String remark;
+    private Boolean changeFlag;
 }

+ 1 - 1
unimall-data/src/main/java/com/iotechn/unimall/data/mapper/CompanyMapper.java

@@ -11,5 +11,5 @@ import java.util.List;
  * Generate Code By Unimall
  */
 public interface CompanyMapper extends BaseMapper<CompanyDO> {
-
+    CompanyDO getCompanyList(String name,String phone,String personNo);
 }

+ 12 - 0
unimall-data/src/main/resources/com/iotechn/unimall/data/mapper/CompanyMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iotechn.unimall.data.mapper.CompanyMapper">
+
+    <select id="getCompanyList" resultType="com.iotechn.unimall.data.domain.CompanyDO">
+       select 'exist' as checkFlag from unimall_company uc
+       where uc.person_name = #{name}
+       or uc.person_no = #{personNo}
+       or uc.company_phone = #{phone}
+    </select>
+
+</mapper>

+ 1 - 1
unimall-launcher/src/main/resources/application.properties

@@ -10,7 +10,7 @@ com.iotechn.unimall.env=3
 ########################################################
 spring.druid.driverClassName=com.mysql.jdbc.Driver
 ##\u6B63\u5F0F\u5E93
-spring.druid.url=jdbc:mysql://47.100.3.209:3306/unimall?createDatabaseIfNotExist=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+spring.druid.url=jdbc:mysql://47.100.3.209:3306/test?createDatabaseIfNotExist=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
 ##\u6D4B\u8BD5\u5E93
 #spring.druid.url=jdbc:mysql://47.100.3.209:3306/test?createDatabaseIfNotExist=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
 ##\u6570\u636E\u540C\u6B65\u5E93