zq-erp/.gitignore
@@ -25,6 +25,7 @@ .idea/sqlDataSources.xml .idea/dynamic.xml .idea/uiDesigner.xml */resources/generated-sources/* # Gradle: .idea/gradle.xml .idea/ zq-erp/pom.xml
@@ -390,11 +390,11 @@ <exclude>config/test/*</exclude> <exclude>config/xcx/*</exclude> <!----> <!-- <exclude>config/config.json</exclude> <exclude>config/application.properties</exclude> <exclude>config/system.properties</exclude> --> zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -15,18 +15,12 @@ import com.matrix.system.common.tools.ResponseHeadUtil; import com.matrix.system.constance.Dictionary; import com.matrix.system.constance.SystemConstance; import com.matrix.system.hive.action.util.QueryUtil; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.MoneyCardUseDao; import com.matrix.system.hive.dao.SysOrderDao; import com.matrix.system.hive.dao.SysOrderItemDao; import com.matrix.system.hive.dao.SysShopInfoDao; import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.dao.*; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.pojo.ShoppingCarItem; import com.matrix.system.hive.pojo.ShoppingCarItemsVo; import com.matrix.system.hive.service.*; import com.matrix.system.shopXcx.mqTask.MQTaskRouting; import com.matrix.system.wechart.templateMsg.UniformMsgParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; @@ -87,6 +81,9 @@ @Autowired private SysOrderFlowService sysOrderFlowService; @Autowired private SysOrderFlowDao sysOrderFlowDao; @Autowired RabiitMqTemplate rabiitMqTemplate; @@ -151,10 +148,24 @@ @ResponseBody @Transactional(rollbackFor = Exception.class) public AjaxResult refundOrder(@RequestBody SysOrder sysOrder) { //储值卡订单不能通过退款渠道退款 if(CollectionUtils.isNotEmpty(sysOrder.getItems())){ List<SysOrderItem> orderItem = orderItemService.findByOrderId(sysOrder.getItems().get(0).getOrderId()); if(orderItem.size()==1){ if(orderItem.get(0).getShoppingGoods().getCode().equals("vipCzk")){ return AjaxResult.buildFailInstance("充值订单请直接冲负数金额退款!"); } } } SysUsers user = getMe(); sysOrder.setShopId(user.getShopId()); sysOrder.setStatu(Dictionary.ORDER_STATU_TK); sysOrder.setOrderTime(new Date()); //校验订单是否满足结算调价,新订单则保存订单,已有订单则删除后更新 sysOrder = orderService.checkAndSaveOrder(sysOrder); orderService.refundOrderMoney(sysOrder); @@ -270,13 +281,17 @@ public @ResponseBody AjaxResult updateOrderTime(SysOrder sysOrder) { sysOrderDao.updateOrderTime(sysOrder.getOrderTime(), sysOrder.getId()); sysOrderDao.updateOrderTime(sysOrder.getPayTime(), sysOrder.getId()); // 修改业绩时间 // 更新业绩时间 AchieveNew achieveNew = new AchieveNew(); achieveNew.setOrderId(sysOrder.getId()); achieveNew.setDatatime(sysOrder.getOrderTime()); achieveNew.setDatatime(sysOrder.getPayTime()); achieveNewService.modifyAchieveTime(achieveNew); //更新收款流水时间 sysOrderFlowDao.updateTimeByOrderId(sysOrder.getId(),sysOrder.getPayTime()); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } zq-erp/src/main/java/com/matrix/system/hive/action/ProjServiceController.java
@@ -392,11 +392,11 @@ public @ResponseBody AjaxResult updateOrderTime(SysProjServices serviceQuery) { SysProjServices services = sysProjServicesDao.selectById(serviceQuery.getId()); sysProjServicesDao.updateOrderTime(serviceQuery.getCreateTime(), serviceQuery.getId()); sysProjServicesDao.updateOrderTime(serviceQuery.getConsumeTime(), serviceQuery.getId()); // 更新业绩时间 AchieveNew achieveNew = new AchieveNew(); achieveNew.setServiceOrderId(serviceQuery.getId()); achieveNew.setDatatime(serviceQuery.getCreateTime()); achieveNew.setDatatime(serviceQuery.getConsumeTime()); achieveNewService.modifyAchieveTime(achieveNew); return new AjaxResult(AjaxResult.STATUS_SUCCESS, "修改成功"); } zq-erp/src/main/java/com/matrix/system/hive/bean/SysProjServices.java
@@ -43,6 +43,8 @@ /** * 订单划扣时间 */ @JsonFormat(pattern = DateUtil.DATE_FORMAT_MM, timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date consumeTime; /** zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -37,7 +37,7 @@ public int selectInPageCount(@Param("record") SysOrder sysOrder); public void updateOrderTime(@Param("orderTime") Date orderTime, @Param("id") Long id); public void updateOrderTime(@Param("payTime") Date orderTime, @Param("id") Long id); SysOrder selectVipOrderInfoTotal(@Param("vipId") Long vipId); zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderFlowDao.java
@@ -5,6 +5,7 @@ import com.matrix.system.hive.vo.OrderFlowVo; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; public interface SysOrderFlowDao { @@ -18,4 +19,6 @@ List<OrderFlowVo> selectInPage(@Param("record") OrderFlowListDto orderFlowListDto); Integer selectTotal(@Param("record")OrderFlowListDto orderFlowListDto); Integer updateTimeByOrderId(@Param("orderId") Long orderId, @Param("payTime") Date payTime); } zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
@@ -1,15 +1,12 @@ package com.matrix.system.hive.dao; import com.matrix.core.pojo.PaginationVO; import com.matrix.system.app.dto.ServiceOrderListDto; import com.matrix.system.app.vo.ServiceOrderListVo; import com.matrix.system.hive.bean.SysProjServices; import com.matrix.system.shopXcx.api.dto.ErpServiceOrderListDto; import com.matrix.system.shopXcx.api.vo.ErpOrderDetailItemVo; import com.matrix.system.shopXcx.api.vo.ErpServiceOrderListVo; import org.apache.ibatis.annotations.Param; import com.matrix.core.pojo.PaginationVO; import java.util.Date; import java.util.List; @@ -39,7 +36,7 @@ public SysProjServices selectById(Long id); public void updateOrderTime(@Param("createTime") Date createTime, @Param("id") Long id); public void updateOrderTime(@Param("consumeTime") Date createTime, @Param("id") Long id); List<ServiceOrderListVo> selectApiServiceOrderListInPage(@Param("record") ServiceOrderListDto serviceOrderListDto, @Param("pageVo") PaginationVO pageVo); zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -243,10 +243,8 @@ achieveNew.setVipId(pageOrder.getVipId()); achieveNew.setSaleId(pageOrder.getStaffId()); if (pageOrder.getOrderTime() != null) { achieveNew.setDatatime(pageOrder.getOrderTime()); } else if (pageOrder.getOrderTime() != null) { achieveNew.setDatatime(pageOrder.getOrderTime()); if (pageOrder.getPayTime() != null) { achieveNew.setDatatime(pageOrder.getPayTime()); } else { achieveNew.setDatatime(new Date()); } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -4,6 +4,7 @@ import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.OrderListDto; @@ -19,7 +20,6 @@ import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.plugin.util.MoneyUtil; import com.matrix.system.hive.pojo.CzXkVo; import com.matrix.system.hive.pojo.ShoppingCarItem; @@ -33,10 +33,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import javax.validation.constraints.NotEmpty; import java.util.*; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @date 2016-07-03 20:53 @@ -219,7 +220,7 @@ sysOrder.setStaffId(source != null ? source.getStaffId() : user.getSuId()); sysOrder.setCompanyId(source != null ? source.getCompanyId() : user.getCompanyId()); sysOrder.setPayTime(new Date()); if (sysOrder.getId() == null) { //新增订单 sysOrder.setOrderNo(codeService.getOrderCode()); @@ -581,6 +582,7 @@ orderStatus = Dictionary.ORDER_STATU_TK; } // 更新收款状态 sourceOrder.setPayTime(new Date()); sourceOrder.setStatu(orderStatus); sourceOrder.setCardPay(cardPayTotal); sourceOrder.setCashPay(cashPayTotal); @@ -926,6 +928,7 @@ ShoppingGoods sysGoods = shoppingGoodsDao.selectById(outStoreItem.getSkuId()); if (sysGoods != null) { throw new GlobleException("出库失败:【" + sysGoods.getName() + "库存不足】"); } else { throw new GlobleException("出库失败没有找到出库产品"); } zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -1,12 +1,14 @@ package com.matrix.system.hive.service.imp; import com.alibaba.fastjson.JSONObject; import com.matrix.component.rabbitmq.RabiitMqTemplate; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.pojo.VerifyResult; import com.matrix.core.tools.*; import com.matrix.core.tools.DateUtil; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.WebUtil; import com.matrix.system.app.dto.ServiceOrderListDto; import com.matrix.system.app.vo.ServiceOrderListVo; import com.matrix.system.common.bean.SysUsers; @@ -14,9 +16,7 @@ import com.matrix.system.constance.Dictionary; import com.matrix.system.hive.bean.*; import com.matrix.system.hive.dao.*; import com.matrix.core.tools.DateUtil; import com.matrix.system.hive.plugin.util.MoneyUtil; import com.matrix.system.hive.pojo.MyBeauticianCount; import com.matrix.system.hive.service.*; import com.matrix.system.shopXcx.mqTask.MQTaskRouting; import com.matrix.system.wechart.templateMsg.UniformMsgParam; @@ -660,7 +660,7 @@ double sum = stores.stream().mapToDouble(item2 -> item2.getStoreTotal()).sum(); Double needAmount = MoneyUtil.div(item.getAmount(), Double.valueOf(shoppingGoods.getVolume())); if (sum < needAmount) { throw new GlobleException("出库失败:【" + shoppingGoods.getName() + "库存不足】"); throw new GlobleException("出库失败:【" + shoppingGoods.getName()+"-"+shoppingGoods.getCode()+ "库存不足】"); } //循环获取所有批次产品,并扣减库存 for (SysStoreInfo storeInfo : stores) { zq-erp/src/main/java/com/matrix/system/hive/statistics/AchieveAction.java
@@ -163,6 +163,7 @@ if (achieveNew.getOrderItemId().equals(item.getId())) { achieveNewList.add(achieveNew); } } item.setAchaeveList(achieveNewList); }); zq-erp/src/main/resources/generated-sources/annotations/com/matrix/system/app/mapper/MoneyCardUseMapperImpl.java
New file @@ -0,0 +1,52 @@ package com.matrix.system.app.mapper; import com.matrix.system.app.vo.VipCardListVo; import com.matrix.system.hive.bean.MoneyCardUse; import javax.annotation.Generated; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @Generated( value = "org.mapstruct.ap.MappingProcessor", date = "2021-01-26T20:08:11+0800", comments = "version: 1.3.0.Final, compiler: javac, environment: Java 1.8.0_181 (Oracle Corporation)" ) public class MoneyCardUseMapperImpl extends MoneyCardUseMapper { @Override public VipCardListVo entityToCardListVo(MoneyCardUse moneyCardUse) { if ( moneyCardUse == null ) { return null; } VipCardListVo vipCardListVo = new VipCardListVo(); vipCardListVo.setCardName( moneyCardUse.getCardName() ); if ( moneyCardUse.getRealMoney() != null ) { vipCardListVo.setRealMoney( BigDecimal.valueOf( moneyCardUse.getRealMoney() ) ); } if ( moneyCardUse.getGiftMoney() != null ) { vipCardListVo.setGiftMoney( BigDecimal.valueOf( moneyCardUse.getGiftMoney() ) ); } vipCardListVo.setStatus( moneyCardUse.getStatus() ); vipCardListVo.setFailTime( moneyCardUse.getFailTime() ); return vipCardListVo; } @Override public List<VipCardListVo> entitiesToCardListVos(List<MoneyCardUse> list) { if ( list == null ) { return null; } List<VipCardListVo> list1 = new ArrayList<VipCardListVo>( list.size() ); for ( MoneyCardUse moneyCardUse : list ) { list1.add( entityToCardListVo( moneyCardUse ) ); } return list1; } } zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -90,7 +90,7 @@ <!-- 更新订单时间 --> <update id="updateOrderTime"> UPDATE sys_order set ORDER_TIME = #{orderTime} set pay_time = #{payTime} WHERE id=#{id} </update> @@ -470,13 +470,14 @@ <select id="selectVipOrderInfoTotal" resultType="com.matrix.system.hive.bean.SysOrder"> select sum(ZK_TOTAL) zkTotal, sum(amount) zkTotal, count(1) times, MAX(pay_time) payTime, GROUP_CONCAT(DISTINCT t2.shop_short_name) shopName from sys_order t1 left join sys_order_flow b on t1.id=b.ORDER_ID and pay_method!='储值卡' left join sys_shop_info t2 on t1.SHOP_ID=t2.ID where VIP_ID=#{vipId} and STATU='已付款'; where t1.VIP_ID=#{vipId} and STATU='已付款'; </select> <select id="selectApiOrderListInPage" resultType="com.matrix.system.app.vo.OrderDetailVo"> zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderFlowDao.xml
@@ -60,6 +60,11 @@ #{companyId} ) </insert> <update id="updateTimeByOrderId"> UPDATE sys_order_flow set create_time=#{payTime} where order_id=#{orderId} </update> <select id="selectByOrderId" resultMap="SysOrderFlowMap"> select a.*, b.order_no from sys_order_flow a zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -140,7 +140,7 @@ <!-- 根据id更新 部分更新 --> <update id="updateOrderTime"> UPDATE sys_proj_services set CREATE_TIME=#{createTime} WHERE id=#{id} UPDATE sys_proj_services set consume_time=#{consumeTime} WHERE id=#{id} </update> <!-- 设置服务单为已通知 --> zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -334,7 +334,8 @@ a.*, d.id as orderId, b.TIME_LENGTH, b.img b.img, b.code from sys_proj_use a left join shopping_goods b on a.proj_id=b.id left join sys_order_item c on a.ORDER_ITEM_ID=c.id zq-erp/src/main/resources/static/css/styleOne/style.min.css
@@ -3013,7 +3013,6 @@ body, body.full-height-layout #page-wrapper, body.full-height-layout #wrapper, html { height: 100%; overflow: hidden; } #page-wrapper { zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/cz-form.html
@@ -62,7 +62,7 @@ <el-row type="flex" align="middle" style="padding: 0 0 10px 0;"> <el-col :span="5" style="text-align: center;">充值金额</el-col> <el-col :span="10" style="text-align: center; line-height: 50px;"> <el-input v-model="rechargeMoney" @change="changeRechargeMoney" placeholder="0.1元起充"></el-input> <el-input type="number" v-model="rechargeMoney" @change="changeRechargeMoney" placeholder="可充负数退款"></el-input> </el-col> </el-row> @@ -168,7 +168,7 @@ data : { cardInfo : "", loginUser : "", rechargeMoney : "", rechargeMoney : 0, payMethods: [{ value: '现金支付', img: '/images/pay/cash.png', @@ -251,11 +251,6 @@ return; } if (_this.rechargeMoney < 0.1) { this.$message.warning("0.1元起充"); return; } if (_this.payMoneys.length > 0) { let flows = [] var total = 0; @@ -266,10 +261,11 @@ this.$message.warning("请输入" + item.type + "的付款金额"); return false; } flow.amount = item.money; total += item.money; flow.amount = parseFloat(item.money); total += parseFloat(item.money); flows.push(flow); }) debugger if (total != _this.rechargeMoney) { this.$message.warning("付款金额应等于充值金额"); return false; @@ -347,10 +343,7 @@ return; } if (rechargeMoney < 0.1) { this.$message.warning("0.1元起充"); return; } if (item.type != '储值卡') { this.$nextTick(function () { if (item.isActive) { @@ -373,9 +366,7 @@ for(var i = 0; i < payMoneys.length; i++) { hasAmount += parseFloat(payMoneys[i].money); } if (_this.rechargeMoney - hasAmount > 0) { Vue.set(item, 'money', _this.rechargeMoney - hasAmount); } _this.payMoneys.push(item); } }); zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/underlineOrder.html
@@ -78,11 +78,15 @@ <th data-field="orderTime" data-formatter="MGrid.getTime" data-sortable="true">下单时间</th> <th data-field="total">订单总价</th> <th data-field="zkTotal">折后价</th> <th data-field="payTime" data-formatter="MGrid.getTime" data-sortable="true">支付时间</th> <th data-field="staffName">下单顾问</th> <th data-field="cashPay">现金支付金额</th> <th data-field="cardPay">卡支付金额</th> <th data-field="arrears">欠款金额</th> <th data-field="statu">订单状态</th> <th data-field="remark">备注</th> zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateOrderTime.html
@@ -55,11 +55,11 @@ <div class="form-group"> <label class="col-sm-2 control-label">订单时间</label> <label class="col-sm-2 control-label">收款时间</label> <div class="col-sm-4"> <input autocomplete="off" name="orderTime" type="text" <input autocomplete="off" name="payTime" type="text" class="form-control datetimepicker" th:value="${#dates.format(order.orderTime, 'yyyy-MM-dd hh:mm')}" /> th:value="${#dates.format(order.payTime, 'yyyy-MM-dd hh:mm')}" /> </div> </div> <br> zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTime.html
@@ -55,11 +55,11 @@ <div class="form-group"> <label class="col-sm-2 control-label">订单时间</label> <label class="col-sm-2 control-label">划扣时间</label> <div class="col-sm-4"> <input autocomplete="off" name="createTime" type="text" <input autocomplete="off" name="consumeTime" type="text" class="form-control datetimepicker" th:value="${#dates.format(serviceOrder.createTime, 'yyyy-MM-dd hh:mm')}" th:value="${#dates.format(serviceOrder.consumeTime, 'yyyy-MM-dd hh:mm')}" </div> </div> zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -226,9 +226,11 @@ <el-table id="proj" v-show="projTab.projType=='proj'" :data="projTab.projTableData" style="width: 100%"> <el-table-column prop="projName" label="项目名称" width="180"> <template slot-scope="scope"> <span >{{scope.row.projName}}({{scope.row.projInfo.code}})</span> </template> </el-table-column> <el-table-column prop="source" @@ -267,9 +269,11 @@ style="width: 100%;" row-key="id" :tree-props="{children: 'taocanProjUse', hasChildren: 'hasChildren'}"> <el-table-column prop="projName" label="名称" width="240"> width="280"> <template slot-scope="scope"> <span >{{scope.row.projName}}({{scope.row.projInfo.code}})</span> </template> </el-table-column> <el-table-column prop="status" zq-erp/src/main/resources/templates/views/admin/hive/store/outStore-form.html
@@ -233,7 +233,7 @@ <el-table-column label="数量"> <template slot-scope="scope"> <el-form-item :prop="'assembleGoods.'+ scope.$index +'.amount'" :rules="rules.count"> <el-form-item :prop="'assembleGoods.'+ scope.$index +'.amount'" > <el-input v-model.number="scope.row.amount"></el-input> </el-form-item> </template> @@ -279,10 +279,6 @@ ], warehouseData : [ { required: true, message: '请选择仓库', trigger: 'change' } ], count : [ { required: true, message: '请输入信息', trigger: 'blur' }, { type : 'number', message: '请输入数字', trigger: 'blur' } ], }, outStoreTypeData : [], zq-erp/src/main/resources/templates/views/admin/hive/vip/projUse-form.html
@@ -38,6 +38,14 @@ </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">单次划扣<span class="text-danger">*</span></label> <div class="col-sm-4"> <input autocomplete="off" type="text" class="form-control" name="price" th:value="${obj?.price}" datatype="*1-20" nullmsg="单次划扣余额不能为空"> <div class="Validform_checktip"></div> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">到期时间</label> <div class="col-sm-4"> <input autocomplete="off" name="failTime" type="text" datatype="*"