Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
ligaode 4 months ago
parent
commit
ea94d2f967
  1. 9
      anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js
  2. 2
      anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue
  3. 120
      anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue
  4. 4
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
  5. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml
  6. 14
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java
  7. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.xml
  8. 11
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java
  9. 8
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/PurchaseAssetApplyVo.java
  10. 19
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adreimbursedassetapply/AdReimbursedAssetApplyService.java
  11. 21
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adreimbursedassetdetails/AssetObjDetailsVo.java
  12. 3
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adreimbursedassetdetails/AssetObjVo.java

9
anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js

@ -53,5 +53,14 @@ export default {
responseType: 'blob', // 表明返回服务器返回的数据类型
headers: { 'Content-Type': 'application/json' }
})
},
// 下载模板
downloadExcel: function() {
return request({
url: '/scm/v1/scmspecialrebate/downloadExcel',
method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型
headers: { 'Content-Type': 'application/json' }
})
}
}

2
anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue

@ -90,7 +90,7 @@
<el-table-column prop="estimateRebate" label="预计返利" align="center" width="120" />
<el-table-column prop="expectCost" label="其中预计费用" align="center" width="160" />
<el-table-column prop="palceGenDate" label="所属年月" align="center" width="120" />
<el-table-column prop="withholdingDate" label="预提日期" align="center" width="120" />
<el-table-column prop="withholdingDate" label="预提年月" align="center" width="120" />
<el-table-column prop="uploadDate" label="上传日期" align="center" width="120" />
<el-table-column prop="uploadMoney" label="上传金额" align="center" width="120" />
<el-table-column prop="secondaryUploadDate" label="二次上传日期" align="center" width="120" />

120
anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue

@ -75,7 +75,7 @@
<el-table-column prop="estimateRebate" label="预计返利" align="center" width="120" />
<el-table-column prop="expectCost" label="其中预计费用" align="center" width="120" />
<el-table-column prop="palceGenDate" label="所属年月" align="center" width="120" />
<el-table-column prop="withholdingDate" label="预提日期" align="center" width="120" />
<el-table-column prop="withholdingDate" label="预提年月" align="center" width="120" />
<el-table-column prop="uploadDate" label="上传日期" align="center" width="120" />
<el-table-column prop="uploadMoney" label="上传金额" align="center" width="120" />
<el-table-column prop="secondaryUploadDate" label="二次上传日期" align="center" width="140" />
@ -97,6 +97,43 @@
</div>
<specialrebatemanagementAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<specialrebatemanagementInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
<el-dialog :visible.sync="dialogVisible" width="70%" :show-close="false">
<div>
<el-button style="font-weight: bold" size="small" type="text" @click="downLoad">下载专项返利模板</el-button>
</div>
<el-card class="box-card">
<div>
<el-upload
ref="upload"
class="upload-demo"
accept=".xls"
name="file"
:action="updateAction"
:on-success="handleSuccess"
:on-remove="handleRemove"
:file-list="fileList"
:auto-upload="false"
:multiple="false"
:limit="1"
:data="uploadData"
:headers="headers"
>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传</el-button>
</el-upload>
</div>
<div>
<h3>文件上传结果</h3>
<el-card class="box-card">
<div>{{ uploadResultMesssage }}</div>
</el-card>
</div>
</el-card>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" size="small" @click="handleConfirm">确定</el-button>
<el-button size="small" @click="dialogVisible = false">取消</el-button>
</div>
</el-dialog>
</div>
</template>
@ -129,6 +166,13 @@ export default {
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'success',
size: 'small',
icon: 'Import',
btnKey: 'doImport',
btnLabel: '导入'
},
{
type: 'success',
size: 'small',
@ -211,7 +255,19 @@ export default {
size: 5,
total: 0
},
rules: {}
rules: {},
dialogVisible: false,
updateAction: process.env.VUE_APP_BASE_API + '/scm/v1/scmspecialrebate/getExcelInfo',
fileList: [],
uploadResultMesssage: '',
uploadData: {
sid: '',
userSid: '',
orgPath: ''
},
headers: {
token: window.sessionStorage.getItem('token')
}
}
},
created() {
@ -250,6 +306,9 @@ export default {
case 'toAdd':
this.toAdd()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
@ -370,6 +429,63 @@ export default {
}).catch(() => {
})
},
doImport() {
this.dialogVisible = true
this.fileList = []
this.uploadResultMesssage = ''
},
downLoad() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.downloadExcel().then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel'
})
const fileName = '专项返利模版' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'none'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
handleRemove() {
this.uploadResultMesssage = ''
},
submitUpload() {
this.uploadData.userSid = window.sessionStorage.getItem('userSid')
this.uploadData.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.$refs.upload.submit()
},
handleSuccess(resp, file, fileList) {
const _this = this
if (resp.success) {
_this.uploadResultMesssage = resp.msg
} else {
_this.uploadResultMesssage = resp.msg
}
},
handleConfirm() {
if (this.uploadResultMesssage === '') {
this.$message({ showClose: true, type: 'error', message: '请先上传专项返利模版' })
return
} else {
this.dialogVisible = false
this.uploadData.userSid = ''
this.uploadData.orgPath = ''
this.getList()
}
},
doExport() {
const loading = this.$loading({
lock: true,

4
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml

@ -65,7 +65,7 @@
spu.sid as goodsSpuSid,
sku.title goodsSpuName,
sku.goodsSkuCode,
sku.indexes,
sku.own_spec as indexes,
spu.goodsUnitName,
spu.manufacturerSid,
spu.manufacturerName
@ -83,7 +83,7 @@
sku.title AS goodsSkuTitle,
sku.goodsSkuCode,
spu.goodsUnitName AS unit,
sku.indexes AS goodsSkuOwnSpec,
sku.own_spec AS goodsSkuOwnSpec,
spu.manufacturerSid,
spu.manufacturerName
from base_goods_sku sku

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml

@ -51,7 +51,7 @@ WHERE
p.barCode,
p.goodsUnitName,
t.goodsTypeName,
k.indexes,
k.own_spec as indexes,
p.shelfLife,
b.brandName,
m.manufacturerName,

14
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java

@ -320,7 +320,8 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
skuUpdate.setGoodsSkuCode(dto.getGoodsCode());
}
if (StringUtils.isNotBlank(dto.getIndexes())) {
skuUpdate.setIndexes(dto.getIndexes());
// skuUpdate.setIndexes(dto.getIndexes());
skuUpdate.setOwnSpec(dto.getIndexes());
}
skuUpdate.setModifyTime(new Date());
baseGoodsSkuService.updateById(skuUpdate);
@ -395,7 +396,8 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
sku.setGoodsSkuCode(dto.getGoodsCode());
}
if (StringUtils.isNotBlank(dto.getIndexes())) {
sku.setIndexes(dto.getIndexes());
// sku.setIndexes(dto.getIndexes());
sku.setOwnSpec(dto.getIndexes());
}
baseGoodsSkuService.insert(sku);
//商品sku_extend
@ -523,8 +525,8 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
}
BaseGoodsSku sku = baseGoodsSkuService.getOneBySpuSid(sid);
if (null != sku) {
if (StringUtils.isNotBlank(sku.getIndexes())) {
vo.setIndexes(sku.getIndexes());
if (StringUtils.isNotBlank(sku.getOwnSpec())) {
vo.setIndexes(sku.getOwnSpec());
}
BaseGoodsSkuExtend skuExtend = baseGoodsSkuExtendService.getOneBySKuSid(sku.getSid());
if (null != skuExtend) {
@ -618,8 +620,8 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
//商品sku
BaseGoodsSku skuUpdate = baseGoodsSkuService.getOneBySpuSid(details.getSid());
if (null != skuUpdate) {
if (StringUtils.isNotBlank(skuUpdate.getIndexes())) {
extra.put("goodsSkuOwnSpec", skuUpdate.getIndexes());
if (StringUtils.isNotBlank(skuUpdate.getOwnSpec())) {
extra.put("goodsSkuOwnSpec", skuUpdate.getOwnSpec());
}
}
if (StringUtils.isNotBlank(details.getGoodsUnitName())) {

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.xml

@ -34,7 +34,7 @@
where mainSid = #{sid}
</select>
<select id="selListByUserSid" resultType="com.yxt.anrui.oa.biz.adpurchaseassetapply.PurchaseAssetApplyVo">
SELECT ae.sid,ofm.billNo
SELECT ae.sid,ofm.billNo,ae.assetTypeValue,ae.isStationValue,ae.assetTypeKey,ae.isStationKey
FROM ad_purchase_asset_apply ae
left join oa_form ofm on ae.formSid = ofm.sid
WHERE ofm.nodeState = '已办结' and ofm.createBySid = #{userSid}

11
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java

@ -30,6 +30,7 @@ import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsDto;
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsService;
import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsVo;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AdReimbursedAssetDetailsVo;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AssetObjDetailsVo;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AssetObjVo;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.*;
@ -350,8 +351,14 @@ public class AdPurchaseAssetApplyService extends MybatisBaseService<AdPurchaseAs
v.add(d);
}
}
Map<String, List<AdReimbursedAssetDetailsVo>> extra = new HashMap<>();
extra.put("list",v);
Map<String, AssetObjDetailsVo> extra = new HashMap<>();
AssetObjDetailsVo objDetailsVo = new AssetObjDetailsVo();
objDetailsVo.setList(v);
objDetailsVo.setAssetTypeKey(vo.getAssetTypeKey());
objDetailsVo.setAssetTypeValue(vo.getAssetTypeValue());
objDetailsVo.setIsStationKey(vo.getIsStationKey());
objDetailsVo.setIsStationValue(vo.getIsStationValue());
extra.put("obj",objDetailsVo);
objVo.setExtra(extra);
list.add(objVo);
}

8
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/PurchaseAssetApplyVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.oa.biz.adpurchaseassetapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ -7,4 +8,11 @@ public class PurchaseAssetApplyVo {
private String sid;
private String billNo;
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别value")
private String assetTypeValue; // 固定资产类别value
@ApiModelProperty("是否有服务站机器设备(1是,0否)")
private String isStationKey; // 是否有服务站机器设备(1是,0否)
private String isStationValue; // 是否有服务站机器设备(1是,0否)
}

19
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adreimbursedassetapply/AdReimbursedAssetApplyService.java

@ -28,6 +28,7 @@ package com.yxt.anrui.oa.biz.adreimbursedassetapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AdReimbursedAssetDetailsService;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AdReimbursedAssetDetailsVo;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AssetObjDetailsVo;
import com.yxt.anrui.oa.biz.adreimbursedassetdetails.AssetObjVo;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.*;
@ -108,8 +109,14 @@ public class AdReimbursedAssetApplyService extends MybatisBaseService<AdReimburs
List<AdReimbursedAssetDetailsVo> list = adReimbursedAssetDetailsService.getUpdateInit(sid);
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
Map<String, List<AdReimbursedAssetDetailsVo>> extra = new HashMap<>();
extra.put("list", list);
Map<String, AssetObjDetailsVo> extra = new HashMap<>();
AssetObjDetailsVo objDetailsVo = new AssetObjDetailsVo();
objDetailsVo.setList(list);
objDetailsVo.setAssetTypeKey(apply.getAssetTypeKey());
objDetailsVo.setAssetTypeValue(apply.getAssetTypeValue());
objDetailsVo.setIsStationKey(apply.getIsStationKey());
objDetailsVo.setIsStationValue(apply.getIsStationValue());
extra.put("obj", objDetailsVo);
assetObj.setExtra(extra);
}
applyVo.setAssetListObj(assetObj);
@ -132,7 +139,7 @@ public class AdReimbursedAssetApplyService extends MybatisBaseService<AdReimburs
sourceBillNo = assetListObj.getDictValue();
}
}
Map<String, List<AdReimbursedAssetDetailsVo>> extra = assetListObj.getExtra();
Map<String, AssetObjDetailsVo> extra = assetListObj.getExtra();
if (StringUtils.isBlank(sid)) {
// 新建操作
AdReimbursedAssetApply entity = new AdReimbursedAssetApply();
@ -159,11 +166,15 @@ public class AdReimbursedAssetApplyService extends MybatisBaseService<AdReimburs
baseMapper.updateById(entity);
}
if (null != extra) {
List<AdReimbursedAssetDetailsVo> list = extra.get("list");
AssetObjDetailsVo objDetailsVo = extra.get("obj");
if (null != objDetailsVo) {
List<AdReimbursedAssetDetailsVo> list = objDetailsVo.getList();
if (!list.isEmpty()) {
adReimbursedAssetDetailsService.saveDetails(list, sid);
}
}
}
return rb.success().setData(sid);
}

21
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adreimbursedassetdetails/AssetObjDetailsVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.oa.biz.adreimbursedassetdetails;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AssetObjDetailsVo {
@ApiModelProperty("固定资产类别key")
private String assetTypeKey; // 固定资产类别key
@ApiModelProperty("固定资产类别value")
private String assetTypeValue; // 固定资产类别value
@ApiModelProperty("是否有服务站机器设备(1是,0否)")
private String isStationKey; // 是否有服务站机器设备(1是,0否)
private String isStationValue; // 是否有服务站机器设备(1是,0否)
private List<AdReimbursedAssetDetailsVo> list;
}

3
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adreimbursedassetdetails/AssetObjVo.java

@ -2,7 +2,6 @@ package com.yxt.anrui.oa.biz.adreimbursedassetdetails;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
@ -11,6 +10,6 @@ public class AssetObjVo {
private String id;
private String dictValue;
private Map<String, List<AdReimbursedAssetDetailsVo>> extra;
private Map<String, AssetObjDetailsVo> extra;
}

Loading…
Cancel
Save