Commit d4c5a55b by liuyang

2024-07-23

1.付款单录入收款金额,保存提示生成收款单失败bug
2.付款单删除bug
3、付款单明细显示调整
4、付款单核销优化
parent 6c4f78c3
package com.baosight.hggp.controller; package com.baosight.hggp.controller;
import com.baosight.hggp.core.utils.QrCodeUtils; import com.baosight.hggp.core.utils.QrCodeUtils;
import com.baosight.hggp.hg.mt.utils.UploadUtils;
import com.baosight.hggp.util.LogUtils; import com.baosight.hggp.util.LogUtils;
import com.baosight.iplat4j.core.ei.EiConstant; import com.baosight.iplat4j.core.ei.EiConstant;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
...@@ -36,8 +37,8 @@ public class FileUploadController { ...@@ -36,8 +37,8 @@ public class FileUploadController {
public Map upload(MultipartFile file) throws IOException { public Map upload(MultipartFile file) throws IOException {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
try { try {
// JSONObject upload = UploadUtils2.upload((CommonsMultipartFile)file); JSONObject upload = UploadUtils.upload((CommonsMultipartFile)file);
// resultMap.put("id", upload.getString("docId")); resultMap.put("id", upload.getString("docId"));
resultMap.put("status", EiConstant.STATUS_SUCCESS); resultMap.put("status", EiConstant.STATUS_SUCCESS);
resultMap.put("message", "SUCCESS"); resultMap.put("message", "SUCCESS");
return resultMap; return resultMap;
......
...@@ -6,6 +6,7 @@ import com.baosight.hggp.common.DdynamicEnum; ...@@ -6,6 +6,7 @@ import com.baosight.hggp.common.DdynamicEnum;
import com.baosight.hggp.core.dao.DaoUtils; import com.baosight.hggp.core.dao.DaoUtils;
import com.baosight.hggp.core.security.UserSessionUtils; import com.baosight.hggp.core.security.UserSessionUtils;
import com.baosight.hggp.hg.constant.HGConstant; import com.baosight.hggp.hg.constant.HGConstant;
import com.baosight.hggp.hg.cw.domain.HGCW012;
import com.baosight.hggp.hg.cw.domain.HGCW016; import com.baosight.hggp.hg.cw.domain.HGCW016;
import com.baosight.hggp.hg.cw.domain.HGCW015; import com.baosight.hggp.hg.cw.domain.HGCW015;
import com.baosight.hggp.hg.cw.domain.HGCW017; import com.baosight.hggp.hg.cw.domain.HGCW017;
...@@ -84,24 +85,20 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -84,24 +85,20 @@ public class ServiceHGCW016 extends ServiceBase {
try { try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows(); List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
// 写入数据 // 写入数据
for (int i = 0; i < resultRows.size(); i++) { for (Map resultRow : resultRows) {
HGCW016 HGCW016 = new HGCW016(); HGCW016 hgcw016 = new HGCW016();
HGCW016.fromMap(resultRows.get(i)); hgcw016.fromMap(resultRow);
UserVO userVO = HGCWTools.HgCw002.getUserCompany(); //UserVO userVO = HGCWTools.HgCw002.getUserCompany();
HGCW016.setCompanyCode(userVO.getUsercode()); //hgcw016.setCompanyCode(userVO.getUsercode());
HGCW016.setCompanyName(userVO.getUsername()); //hgcw016.setCompanyName(userVO.getUsername());
HGCW016.setCancelStatus(1); hgcw016.setSigningDate(DateUtils.formatShort(hgcw016.getSigningDate()));
HGCW016.setReviewStatus(0);
HGCW016.setIncomeNumber(SequenceGenerator.getNextSequence(HGConstant.SequenceId.CW_COLLECTION_NO));
HGCW016.setSigningDate(DateUtils.formatShort(HGCW016.getSigningDate()));
if (HGCW016.getId() == null || HGCW016.getId() == 0) { if (hgcw016.getId() == null || hgcw016.getId() == 0) {
this.add(HGCW016); this.add(hgcw016);
} else { } else {
this.modify(HGCW016); this.modify(hgcw016);
} }
} }
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) { } catch (Exception e) {
...@@ -113,21 +110,24 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -113,21 +110,24 @@ public class ServiceHGCW016 extends ServiceBase {
/** /**
* 新增操作 * 新增操作
* *
* @param HGCW016 * @param hgcw016
* @return * @return
*/ */
public void add(HGCW016 HGCW016) { public void add(HGCW016 hgcw016) {
DaoUtils.insert("HGCW016.insert", HGCW016); hgcw016.setCancelStatus(1);
hgcw016.setReviewStatus(0);
hgcw016.setIncomeNumber(SequenceGenerator.getNextSequence(HGConstant.SequenceId.CW_COLLECTION_NO));
DaoUtils.insert(HGCW016.INSERT, hgcw016);
} }
/** /**
* 修改操作 * 修改操作
* *
* @param HGCW016 * @param hgcw016
* @return * @return
*/ */
public void modify(HGCW016 HGCW016) { public void modify(HGCW016 hgcw016) {
DaoUtils.update("HGCW016.update", HGCW016); DaoUtils.update(HGCW016.UPDATE, hgcw016);
} }
/** /**
...@@ -137,23 +137,23 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -137,23 +137,23 @@ public class ServiceHGCW016 extends ServiceBase {
* @return * @return
*/ */
@OperationLogAnnotation(operModul = "付款单",operType = "删除",operDesc = "删除") @OperationLogAnnotation(operModul = "付款单",operType = "删除",operDesc = "删除")
@Override
public EiInfo delete(EiInfo inInfo) { public EiInfo delete(EiInfo inInfo) {
try { try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows(); List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
for (int i = 0; i < resultRows.size(); i++) { for (Map resultRow : resultRows) {
HGCW016 HGCW016 = new HGCW016(); HGCW016 hgcw016 = new HGCW016();
HGCW016.fromMap(resultRows.get(i)); hgcw016.fromMap(resultRow);
List<HGCW015> hgcw015List = HGCWTools.HgCw015.getMainId(HGCW016.getId()); List<HGCW017> hgcw017List = HGCWTools.HgCw017.getMainId(hgcw016.getId());
if (CollectionUtils.isNotEmpty(hgcw015List)) { if (CollectionUtils.isNotEmpty(hgcw017List)) {
for (HGCW015 hgcw015 : hgcw015List) { for (HGCW017 hgcw017 : hgcw017List) {
HGCWTools.HgCw010.cutAmount(hgcw015.getContractNumber(), HGCWTools.HgCw012.cutAmount(hgcw017.getContractNumber(),
hgcw015.getTotalContractPriceIncluding().multiply(new BigDecimal(-1))); hgcw017.getTotalContractPriceIncluding().multiply(new BigDecimal(-1)));
DaoUtils.update("HGCW015.delete", hgcw015); DaoUtils.update(HGCW017.DELETE, hgcw017);
} }
} }
DaoUtils.update("HGCW016.delete", HGCW016); DaoUtils.update(HGCW016.DELETE, hgcw016);
} }
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!");
} catch (Exception e) { } catch (Exception e) {
...@@ -177,14 +177,14 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -177,14 +177,14 @@ public class ServiceHGCW016 extends ServiceBase {
if (CollectionUtils.isNotEmpty(hgcw017List)) { if (CollectionUtils.isNotEmpty(hgcw017List)) {
if (StringUtils.isEmpty(mainId)) { if (StringUtils.isEmpty(mainId)) {
//先生成主表 //先生成主表
HGCW016 HGCW016 = new HGCW016(); HGCW016 hgcw016 = new HGCW016();
UserVO userVO = HGCWTools.HgCw002.getUserCompany(); UserVO userVO = HGCWTools.HgCw002.getUserCompany();
HGCW016.setCompanyCode(userVO.getUsercode()); hgcw016.setCompanyCode(userVO.getUsercode());
HGCW016.setCompanyName(userVO.getUsername()); hgcw016.setCompanyName(userVO.getUsername());
HGCW016.setCancelStatus(1); //hgcw016.setCancelStatus(1);
HGCW016.setReviewStatus(0); //hgcw016.setReviewStatus(0);
HGCW016.setIncomeNumber(SequenceGenerator.getNextSequence(HGConstant.SequenceId.CW_COLLECTION_NO)); //hgcw016.setIncomeNumber(SequenceGenerator.getNextSequence(HGConstant.SequenceId.CW_COLLECTION_NO));
HGCW016.setSigningDate(DateUtils.shortDate()); hgcw016.setSigningDate(DateUtils.shortDate());
BigDecimal totalContractPriceIncluding = BigDecimal.ZERO; BigDecimal totalContractPriceIncluding = BigDecimal.ZERO;
StringBuffer contractNumber = new StringBuffer(); StringBuffer contractNumber = new StringBuffer();
Map<String, BigDecimal> rowMap = new HashMap<>(); Map<String, BigDecimal> rowMap = new HashMap<>();
...@@ -192,40 +192,41 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -192,40 +192,41 @@ public class ServiceHGCW016 extends ServiceBase {
contractNumber.append(hgcw017.getContractNumber()).append(","); contractNumber.append(hgcw017.getContractNumber()).append(",");
} }
for (Map m : resultRows) { for (Map m : resultRows) {
String c = m.get("settlementNumber").toString(); String c = m.get(HGCW012.FIELD_BILL_NUMBER).toString();
BigDecimal remainingAmount = new BigDecimal(m.get("thisAmount").toString()); BigDecimal remainingAmount = new BigDecimal(m.get("thisAmount").toString());
rowMap.put(c, remainingAmount); rowMap.put(c, remainingAmount);
totalContractPriceIncluding = totalContractPriceIncluding.add(remainingAmount); totalContractPriceIncluding = totalContractPriceIncluding.add(remainingAmount);
} }
HGCW016.setTotalContractPriceIncluding(new BigDecimal(decimalFormat.format(totalContractPriceIncluding))); hgcw016.setTotalContractPriceIncluding(new BigDecimal(decimalFormat.format(totalContractPriceIncluding)));
HGCW016.setPartyA(hgcw017List.get(0).getPartyA()); hgcw016.setPartyA(hgcw017List.get(0).getPartyA());
HGCW016.setContractNumber(contractNumber.toString().substring(0, contractNumber.length() - 1)); hgcw016.setContractNumber(contractNumber.toString().substring(0, contractNumber.length() - 1));
this.add(HGCW016); this.add(hgcw016);
//生成明细表 //生成明细表
for (HGCW017 hgcw017 : hgcw017List) { for (HGCW017 hgcw017 : hgcw017List) {
hgcw017.setMainId(HGCW016.getId()); hgcw017.setMainId(hgcw016.getId());
// 反写金额 // 反写金额
HGCWTools.HgCw012.cutAmount(hgcw017.getContractNumber(),rowMap.get(hgcw017.getContractNumber())); HGCWTools.HgCw012.cutAmount(hgcw017.getContractNumber(),rowMap.get(hgcw017.getContractNumber()));
hgcw017.setDepCode(null);
DaoUtils.insert(HGCW017.INSERT, hgcw017); DaoUtils.insert(HGCW017.INSERT, hgcw017);
} }
} else { } else {
HGCW016 HGCW016 = HGCWTools.HgCw016.getId(mainId); HGCW016 hgcw016 = HGCWTools.HgCw016.getId(mainId);
Map<String, BigDecimal> rowMap = new HashMap<>(); Map<String, BigDecimal> rowMap = new HashMap<>();
for (Map m : resultRows) { for (Map m : resultRows) {
String c = m.get("settlementNumber").toString(); String c = m.get(HGCW012.FIELD_BILL_NUMBER).toString();
BigDecimal remainingAmount = new BigDecimal(m.get("thisAmount").toString()); BigDecimal remainingAmount = new BigDecimal(m.get("thisAmount").toString());
rowMap.put(c, remainingAmount); rowMap.put(c, remainingAmount);
} }
// 生成明细表 // 生成明细表
for (HGCW017 hgcw017 : hgcw017List) { for (HGCW017 hgcw017 : hgcw017List) {
hgcw017.setMainId(HGCW016.getId()); hgcw017.setMainId(hgcw016.getId());
// 反写金额 // 反写金额
HGCWTools.HgCw012.cutAmount(hgcw017.getContractNumber(),rowMap.get(hgcw017.getContractNumber())); HGCWTools.HgCw012.cutAmount(hgcw017.getContractNumber(),rowMap.get(hgcw017.getContractNumber()));
this.addHGCW017(hgcw017); this.addHGCW017(hgcw017);
} }
List<HGCW017> hgcw017s = HGCWTools.HgCw017.getMainId(HGCW016.getId()); List<HGCW017> hgcw017s = HGCWTools.HgCw017.getMainId(hgcw016.getId());
if (CollectionUtils.isNotEmpty(hgcw017s)) { if (CollectionUtils.isNotEmpty(hgcw017s)) {
// 更新主表 // 更新主表
BigDecimal totalContractPriceIncluding = BigDecimal.ZERO; BigDecimal totalContractPriceIncluding = BigDecimal.ZERO;
...@@ -234,10 +235,10 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -234,10 +235,10 @@ public class ServiceHGCW016 extends ServiceBase {
totalContractPriceIncluding = totalContractPriceIncluding.add(hgcw017.getTotalContractPriceIncluding()); totalContractPriceIncluding = totalContractPriceIncluding.add(hgcw017.getTotalContractPriceIncluding());
contractNumber.append(hgcw017.getContractNumber()).append(","); contractNumber.append(hgcw017.getContractNumber()).append(",");
} }
HGCW016.setTotalContractPriceIncluding(totalContractPriceIncluding); hgcw016.setTotalContractPriceIncluding(totalContractPriceIncluding);
HGCW016.setPartyA(hgcw017s.get(0).getPartyA()); hgcw016.setPartyA(hgcw017s.get(0).getPartyA());
HGCW016.setContractNumber(contractNumber.toString().substring(0, contractNumber.length() - 1)); hgcw016.setContractNumber(contractNumber.toString().substring(0, contractNumber.length() - 1));
this.modify(HGCW016); this.modify(hgcw016);
} }
} }
} }
...@@ -247,8 +248,8 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -247,8 +248,8 @@ public class ServiceHGCW016 extends ServiceBase {
return inInfo; return inInfo;
} }
public void addHGCW017(HGCW017 HGCW017) { public void addHGCW017(HGCW017 hgcw017) {
DaoUtils.insert("HGCW017.insert", HGCW017); DaoUtils.insert(HGCW017.INSERT, hgcw017);
} }
...@@ -266,7 +267,6 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -266,7 +267,6 @@ public class ServiceHGCW016 extends ServiceBase {
HGCW016.setReviewStatus(1); HGCW016.setReviewStatus(1);
DaoUtils.update("HGCW016.submit", HGCW016); DaoUtils.update("HGCW016.submit", HGCW016);
} }
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据审核成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据审核成功!");
} catch (Exception e) { } catch (Exception e) {
...@@ -279,14 +279,16 @@ public class ServiceHGCW016 extends ServiceBase { ...@@ -279,14 +279,16 @@ public class ServiceHGCW016 extends ServiceBase {
try { try {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows(); List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
for (int i = 0; i < resultRows.size(); i++) { for (int i = 0; i < resultRows.size(); i++) {
HGCW016 HGCW016 = new HGCW016(); HGCW016 hgcw016 = new HGCW016();
HGCW016.fromMap(resultRows.get(i)); hgcw016.fromMap(resultRows.get(i));
HGCW016.setCancelStatus(2); hgcw016.setCancelStatus(2);
DaoUtils.update("HGCW016.writeoff", HGCW016); if (hgcw016.getReviewStatus() == 0){
throw new Exception("请先审核!");
}
DaoUtils.update("HGCW016.writeoff", hgcw016);
} }
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据提交成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据核销成功!");
} catch (Exception e) { } catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "查询失败"); LogUtils.setDetailMsg(inInfo, e, "查询失败");
} }
......
package com.baosight.hggp.hg.cw.service; package com.baosight.hggp.hg.cw.service;
import com.baosight.hggp.aspect.annotation.OperationLogAnnotation; import com.baosight.hggp.aspect.annotation.OperationLogAnnotation;
import com.baosight.hggp.common.ReviewStatusEnum;
import com.baosight.hggp.core.security.UserSessionUtils; import com.baosight.hggp.core.security.UserSessionUtils;
import com.baosight.hggp.hg.cw.domain.HGCW012; import com.baosight.hggp.hg.cw.domain.HGCW012;
import com.baosight.hggp.hg.cw.domain.HGCW012; import com.baosight.hggp.hg.cw.domain.HGCW012;
import com.baosight.hggp.hg.cw.domain.HGCW016;
import com.baosight.hggp.hg.xs.domain.Company; import com.baosight.hggp.hg.xs.domain.Company;
import com.baosight.hggp.util.EiInfoUtils; import com.baosight.hggp.util.EiInfoUtils;
import com.baosight.hggp.util.LogUtils; import com.baosight.hggp.util.LogUtils;
import com.baosight.hggp.util.contants.ACConstants;
import com.baosight.iplat4j.core.ei.EiConstant; import com.baosight.iplat4j.core.ei.EiConstant;
import com.baosight.iplat4j.core.ei.EiInfo; import com.baosight.iplat4j.core.ei.EiInfo;
import com.baosight.iplat4j.core.exception.PlatException; import com.baosight.iplat4j.core.exception.PlatException;
...@@ -25,13 +28,14 @@ public class ServiceHGCW016A extends ServiceBase { ...@@ -25,13 +28,14 @@ public class ServiceHGCW016A extends ServiceBase {
* @return * @return
*/ */
@OperationLogAnnotation(operModul = "账期维护",operType = "查询",operDesc = "初始化") @OperationLogAnnotation(operModul = "付款单",operType = "查询",operDesc = "初始化")
@Override
public EiInfo initLoad(EiInfo inInfo) { public EiInfo initLoad(EiInfo inInfo) {
try { try {
EiInfoUtils.addBlock(inInfo,"roleCompany", UserSessionUtils.getRoleCompany(), Company.class); EiInfoUtils.addBlock(inInfo,"roleCompany", UserSessionUtils.getRoleCompany(), Company.class);
inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HGCW012().eiMetadata); inInfo.addBlock(EiConstant.resultBlock).addBlockMeta(new HGCW012().eiMetadata);
} catch (Exception e) { } catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "初始化失败"); LogUtils.setDetailMsg(inInfo, e, "初始化付款单失败");
} }
return inInfo; return inInfo;
} }
...@@ -42,10 +46,12 @@ public class ServiceHGCW016A extends ServiceBase { ...@@ -42,10 +46,12 @@ public class ServiceHGCW016A extends ServiceBase {
* @param inInfo * @param inInfo
* @return * @return
*/ */
@OperationLogAnnotation(operModul = "账期维护",operType = "查询",operDesc = "查询") @OperationLogAnnotation(operModul = "付款单",operType = "查询",operDesc = "查询")
@Override @Override
public EiInfo query(EiInfo inInfo) { public EiInfo query(EiInfo inInfo) {
try { try {
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, HGCW016.FIELD_REVIEW_STATUS, ReviewStatusEnum.REVIEWED.getCode());
inInfo.setCell(EiConstant.queryBlock, ACConstants.ROW_CODE_0, "notRemainingAmount", 0);
inInfo = super.query(inInfo, HGCW012.QUERY, new HGCW012()); inInfo = super.query(inInfo, HGCW012.QUERY, new HGCW012());
} catch (Exception e) { } catch (Exception e) {
LogUtils.setDetailMsg(inInfo, e, "查询失败"); LogUtils.setDetailMsg(inInfo, e, "查询失败");
......
...@@ -72,29 +72,28 @@ public class ServiceHGCW017 extends ServiceBase { ...@@ -72,29 +72,28 @@ public class ServiceHGCW017 extends ServiceBase {
List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows(); List<Map> resultRows = inInfo.getBlock(EiConstant.resultBlock).getRows();
// 写入数据 // 写入数据
Long mainId = null; Long mainId = null;
for (int i = 0; i < resultRows.size(); i++) { for (Map resultRow : resultRows) {
HGCW017 HGCW017 = new HGCW017(); HGCW017 hgcw017 = new HGCW017();
HGCW017.fromMap(resultRows.get(i)); hgcw017.fromMap(resultRow);
UserVO userVO = HGCWTools.HgCw002.getUserCompany(); UserVO userVO = HGCWTools.HgCw002.getUserCompany();
HGCW017.setCompanyCode(userVO.getUsercode()); hgcw017.setCompanyCode(userVO.getUsercode());
HGCW017.setCompanyName(userVO.getUsername()); hgcw017.setCompanyName(userVO.getUsername());
mainId = HGCW017.getMainId(); mainId = hgcw017.getMainId();
if (HGCW017.getId() == null || HGCW017.getId() == 0) { if (hgcw017.getId() == null || hgcw017.getId() == 0) {
this.add(HGCW017); this.add(hgcw017);
} else { } else {
// 回写数据 // 回写数据
HGCW017 oldHGCW017 = HGCWTools.HgCw017.getId(HGCW017.getId()); HGCW017 oldHgcw017 = HGCWTools.HgCw017.getId(hgcw017.getId());
//先加再扣 //先加再扣
HGCWTools.HgCw012.cutAmount(oldHGCW017.getContractNumber(), HGCWTools.HgCw012.cutAmount(oldHgcw017.getContractNumber(),
oldHGCW017.getTotalContractPriceIncluding().multiply(new BigDecimal(-1))); oldHgcw017.getTotalContractPriceIncluding().multiply(new BigDecimal(-1)));
this.modify(HGCW017); this.modify(hgcw017);
HGCWTools.HgCw012.cutAmount(HGCW017.getContractNumber(), HGCWTools.HgCw012.cutAmount(hgcw017.getContractNumber(),
HGCW017.getTotalContractPriceIncluding()); hgcw017.getTotalContractPriceIncluding());
} }
} }
// 更新主表 // 更新主表
HGCWTools.HgCw016.updateAmount(mainId); HGCWTools.HgCw016.updateAmount(mainId);
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据保存成功!");
} catch (Exception e) { } catch (Exception e) {
...@@ -106,21 +105,21 @@ public class ServiceHGCW017 extends ServiceBase { ...@@ -106,21 +105,21 @@ public class ServiceHGCW017 extends ServiceBase {
/** /**
* 新增操作 * 新增操作
* *
* @param HGCW017 * @param hgcw017
* @return * @return
*/ */
public void add(HGCW017 HGCW017) { public void add(HGCW017 hgcw017) {
DaoUtils.insert("HGCW017.insert", HGCW017); DaoUtils.insert(HGCW017.INSERT, hgcw017);
} }
/** /**
* 修改操作 * 修改操作
* *
* @param HGCW017 * @param hgcw017
* @return * @return
*/ */
public void modify(HGCW017 HGCW017) { public void modify(HGCW017 hgcw017) {
DaoUtils.update("HGCW017.update", HGCW017); DaoUtils.update(HGCW017.UPDATE, hgcw017);
} }
/** /**
...@@ -145,7 +144,6 @@ public class ServiceHGCW017 extends ServiceBase { ...@@ -145,7 +144,6 @@ public class ServiceHGCW017 extends ServiceBase {
} }
// 更新主表 // 更新主表
HGCWTools.HgCw016.updateAmount(mainId); HGCWTools.HgCw016.updateAmount(mainId);
inInfo = this.query(inInfo);
inInfo.setStatus(EiConstant.STATUS_DEFAULT); inInfo.setStatus(EiConstant.STATUS_DEFAULT);
inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!"); inInfo.setMsg("操作成功!本次对[" + resultRows.size() + "]条数据删除成功!");
} catch (Exception e) { } catch (Exception e) {
......
...@@ -165,6 +165,9 @@ ...@@ -165,6 +165,9 @@
<isNotEmpty prepend=" AND " property="receiveWeight"> <isNotEmpty prepend=" AND " property="receiveWeight">
RECEIVE_WEIGHT = #receiveWeight# RECEIVE_WEIGHT = #receiveWeight#
</isNotEmpty> </isNotEmpty>
<isNotEmpty prepend=" AND " property="notRemainingAmount">
REMAINING_AMOUNT != #notRemainingAmount#
</isNotEmpty>
</sql> </sql>
<select id="query" parameterClass="java.util.HashMap" <select id="query" parameterClass="java.util.HashMap"
...@@ -178,7 +181,7 @@ ...@@ -178,7 +181,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
ID desc RECEIVE_DATE desc ,SIGNING_DATE desc, ID desc
</isEmpty> </isEmpty>
</dynamic> </dynamic>
......
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
$orderBy$ $orderBy$
</isNotEmpty> </isNotEmpty>
<isEmpty property="orderBy"> <isEmpty property="orderBy">
ID asc SIGNING_DATE desc ,ID desc
</isEmpty> </isEmpty>
</dynamic> </dynamic>
......
...@@ -725,13 +725,13 @@ public class HGCWTools { ...@@ -725,13 +725,13 @@ public class HGCWTools {
DaoUtils.update("HGCW012.update", HGCW012); DaoUtils.update("HGCW012.update", HGCW012);
} }
} }
public static void cutAmount(String settlementNumber, BigDecimal cutAmount) { public static void cutAmount(String billNumber, BigDecimal cutAmount) {
AssertUtils.isNull(settlementNumber, "来源单号不能为空!"); AssertUtils.isNull(billNumber, "发票号不能为空!");
// if (cutAmount.compareTo(new BigDecimal(BigInteger.ZERO)) <= 0) { // if (cutAmount.compareTo(new BigDecimal(BigInteger.ZERO)) <= 0) {
// throw new PlatException("扣款金额不能小于等于0!"); // throw new PlatException("扣款金额不能小于等于0!");
// } // }
List<HGCW012> results = DaoBase.getInstance().query(HGCW012.QUERY,new HashMap<String,Object>(){ List<HGCW012> results = DaoBase.getInstance().query(HGCW012.QUERY,new HashMap<String,Object>(){
{put("settlementNumber",settlementNumber);} {put(HGCW012.FIELD_BILL_NUMBER,billNumber);}
}); });
if (CollectionUtils.isEmpty(results)) { if (CollectionUtils.isEmpty(results)) {
throw new PlatException("找不到对应的采购收票记录!"); throw new PlatException("找不到对应的采购收票记录!");
...@@ -1007,7 +1007,7 @@ public class HGCWTools { ...@@ -1007,7 +1007,7 @@ public class HGCWTools {
rows.forEach(row -> { rows.forEach(row -> {
HGCW017 hgcw017 = new HGCW017(); HGCW017 hgcw017 = new HGCW017();
hgcw017.fromMap(row); hgcw017.fromMap(row);
String contractNumber = row.get("settlementNumber").toString(); String contractNumber = row.get(HGCW012.FIELD_BILL_NUMBER).toString();
String remainingAmount = row.get("thisAmount").toString(); String remainingAmount = row.get("thisAmount").toString();
hgcw017.setContractNumber(contractNumber); hgcw017.setContractNumber(contractNumber);
hgcw017.setTotalContractPriceIncluding(new BigDecimal(remainingAmount)); hgcw017.setTotalContractPriceIncluding(new BigDecimal(remainingAmount));
......
package com.baosight.hggp.hg.mt.utils;
import com.baosight.iplat4j.core.data.ibatis.dao.Dao;
import com.baosight.iplat4j.core.ioc.spring.PlatApplicationContext;
import com.baosight.iplat4j.core.util.StringUtils;
import com.baosight.iplat4j.eu.dm.PlatFileUploadUtils;
import net.sf.json.JSONObject;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.util.HashMap;
import java.util.Map;
/**
* @author LiuYang
* @version 1.0 2024/7/23
*/
public class UploadUtils {
private static Dao dao = (Dao) PlatApplicationContext.getApplicationContext().getBean("dao");
public static JSONObject upload(CommonsMultipartFile multipartFile ) throws Exception {
JSONObject documentJSON = new JSONObject();
String docName = multipartFile.getOriginalFilename();
Long docSize = multipartFile.getSize();
HashMap<String, String> inMap = new HashMap();
inMap.put("groupId", "hk_file11");
inMap.put("configPathDefine", "A");
Map<String, String> returnMap = PlatFileUploadUtils.uploadFile(multipartFile, inMap);
String docId = (String)returnMap.get("docId");
String docUrl = (String)returnMap.get("docUrl");
docId = docId == null ? "" : docId;
documentJSON.put("docId", docId);
if (StringUtils.isNotEmpty(docUrl)) {
documentJSON.put("docUrl", docUrl);
} else {
documentJSON.remove("docUrl");
}
documentJSON.put("groupId", returnMap.get("groupId") == null ? "" : returnMap.get("groupId"));
documentJSON.put("docName", docName);
documentJSON.put("docSize", docSize);
documentJSON.put("docType", docName.substring(docName.lastIndexOf(46)));
return documentJSON;
}
}
...@@ -12,14 +12,21 @@ $(function() { ...@@ -12,14 +12,21 @@ $(function() {
pageSize: 20, pageSize: 20,
pageSizes: [10,20,30,50,100,200], pageSizes: [10,20,30,50,100,200],
}, },
columns: [{ columns: [
field: "operator", {
template: function (item) { field: "operator",
let template = '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" ' template: function (item) {
+ 'onclick="contractDetailFunc(' + item.id + ')">付款清单</a>'; let template = '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
return template; + 'onclick="contractDetailFunc(' + item.id + ')">付款清单</a>';
return template;
}
},
{
field: "signingDate",
defaultValue: function () {
return currShortDate();
}
} }
}
], ],
loadComplete: function (grid) { loadComplete: function (grid) {
$("#BTN_CHOICE").on("click",choiceFunc); $("#BTN_CHOICE").on("click",choiceFunc);
......
...@@ -46,13 +46,16 @@ ...@@ -46,13 +46,16 @@
editType="date" dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']"/> editType="date" dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']"/>
<EF:EFColumn ename="contractNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="contractNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="incomeNumber" cname="付款单号" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="incomeNumber" cname="付款单号" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="totalContractPriceIncluding" cname="付款总额" width="120" format="{0:N3}" readonly="true" align="center"/> <EF:EFColumn ename="totalContractPriceIncluding" cname="付款总额" width="120" enable="false" format="{0:N3}" editType="text"
displayType="0.000" sort="true" align="right" readonly="true"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="false"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
<EF:EFComboColumn ename="cancelStatus" cname="核销状态" width="100" align="center" readonly="true" <EF:EFComboColumn ename="cancelStatus" cname="核销状态" width="100" align="center" readonly="true"
columnTemplate="#=textField#" itemTemplate="#=textField#" enable="false" > columnTemplate="#=textField#" itemTemplate="#=textField#" enable="false" defaultValue="1">
<EF:EFCodeOption codeName="hggp.cw.cancelStatus"/> <EF:EFCodeOption codeName="hggp.cw.cancelStatus"/>
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFComboColumn ename="reviewStatus" cname="审批状态" width="100" align="center" readonly="true" <EF:EFComboColumn ename="reviewStatus" cname="审批状态" width="100" align="center" readonly="true"
columnTemplate="#=textField#" itemTemplate="#=textField#" enable="false" > columnTemplate="#=textField#" itemTemplate="#=textField#" enable="false" defaultValue="0">
<EF:EFCodeOption codeName="hggp.cw.reviewStatus"/> <EF:EFCodeOption codeName="hggp.cw.reviewStatus"/>
</EF:EFComboColumn> </EF:EFComboColumn>
</EF:EFGrid> </EF:EFGrid>
......
...@@ -40,21 +40,37 @@ ...@@ -40,21 +40,37 @@
align="center" filter="contains" sort="true"> align="center" filter="contains" sort="true">
<EF:EFOptions blockId="roleCompany" textField="companyName" valueField="companyCode"/> <EF:EFOptions blockId="roleCompany" textField="companyName" valueField="companyCode"/>
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFColumn ename="thisAmount" cname="本次付款金额" width="120" align="center"/> <EF:EFColumn ename="thisAmount" cname="本次付款金额" width="120" enable="true" format="{0:N3}" editType="text"
<EF:EFColumn ename="remainingAmount" cname="剩余付款金额" width="120" enable="false" readonly="true" align="center"/> displayType="0.000" sort="true" align="right"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="true"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
<EF:EFColumn ename="remainingAmount" cname="剩余付款金额" width="120" enable="false" format="{0:N3}" editType="text"
displayType="0.000" sort="true" align="right"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="true"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
<EF:EFColumn ename="partyA" cname="供应商名称" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="partyA" cname="供应商名称" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="settlementNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="settlementNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/>
<EF:EFComboColumn ename="billTybe" cname="票据类型" width="100" align="center" <EF:EFComboColumn ename="billTybe" cname="票据类型" width="120" align="center"
columnTemplate="#=textField#" itemTemplate="#=textField#" enable="false" > columnTemplate="#=textField#" itemTemplate="#=textField#" enable="false" >
<EF:EFCodeOption codeName="hggp.cw.billTybe"/> <EF:EFCodeOption codeName="hggp.cw.billTybe"/>
</EF:EFComboColumn> </EF:EFComboColumn>
<EF:EFColumn ename="signingDate" cname="付款日期" width="120" enable="false" readonly="true" align="center"/> <%--<EF:EFColumn ename="signingDate" cname="付款日期" width="120" enable="false" readonly="true" align="center"/>--%>
<EF:EFColumn ename="signingDate" cname="付款日期" width="120" enable="true" align="center" editType="date"
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="false" />
<EF:EFColumn ename="billNumber" cname="发票号" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="billNumber" cname="发票号" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="taxPoints" cname="税率(%)" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="taxPoints" cname="税率(%)" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="thisSettlementAmount" cname="不含税金额" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="thisSettlementAmount" cname="不含税金额" width="120" enable="false" format="{0:N3}" editType="text"
<EF:EFColumn ename="thisSettlementTax" cname="税额" width="120" enable="false" readonly="true" align="center"/> displayType="0.000" sort="true" align="right" readonly="true"
<EF:EFColumn ename="totalContractPriceIncluding" cname="发票总额" width="120" enable="false" readonly="true" align="center"/> data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="false"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
<EF:EFColumn ename="thisSettlementTax" cname="税额" width="120" enable="false" format="{0:N3}" editType="text"
displayType="0.000" sort="true" align="right" readonly="true"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="false"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
<EF:EFColumn ename="totalContractPriceIncluding" cname="发票总额" width="120" enable="false" format="{0:N3}" editType="text"
displayType="0.000" sort="true" align="right" readonly="true"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="false"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
<div class="row" style="display:flex;justify-content:center;"> <div class="row" style="display:flex;justify-content:center;">
......
...@@ -62,7 +62,7 @@ function saveFunc() { ...@@ -62,7 +62,7 @@ function saveFunc() {
onSuccess: function (ei) { onSuccess: function (ei) {
if (ei.getStatus() >= 0) { if (ei.getStatus() >= 0) {
try { try {
query();
} catch (e) { } catch (e) {
// TODO: handle exception // TODO: handle exception
} }
...@@ -71,6 +71,7 @@ function saveFunc() { ...@@ -71,6 +71,7 @@ function saveFunc() {
} else { } else {
NotificationUtil(ei); NotificationUtil(ei);
} }
query();
} else { } else {
NotificationUtil(ei, "error"); NotificationUtil(ei, "error");
} }
......
...@@ -13,7 +13,10 @@ ...@@ -13,7 +13,10 @@
<EF:EFColumn ename="id" cname="主键" hidden="true"/> <EF:EFColumn ename="id" cname="主键" hidden="true"/>
<EF:EFColumn ename="partyA" cname="客户名称" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="partyA" cname="客户名称" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="contractNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="contractNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="totalContractPriceIncluding" cname="付款总额" width="120" format="{0:N3}" align="center"/> <EF:EFColumn ename="totalContractPriceIncluding" cname="付款总额" width="120" enable="true" format="{0:N3}" editType="text"
displayType="0.000" sort="true" align="right"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="false"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
......
...@@ -13,7 +13,10 @@ ...@@ -13,7 +13,10 @@
<EF:EFColumn ename="id" cname="主键" hidden="true"/> <EF:EFColumn ename="id" cname="主键" hidden="true"/>
<EF:EFColumn ename="partyA" cname="客户名称" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="partyA" cname="客户名称" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="contractNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/> <EF:EFColumn ename="contractNumber" cname="来源单号" width="120" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="totalContractPriceIncluding" cname="付款总额" width="120" format="{0:N3}" align="center" enable="false" readonly="true"/> <EF:EFColumn ename="totalContractPriceIncluding" cname="付款总额" width="120" enable="false" format="{0:N3}" editType="text"
displayType="0.000" sort="true" align="right" readonly="true"
data-regex="/^-?[0-9]{1,15}([.][0-9]{1,3})?$/" maxLength="15" required="false"
data-errorprompt="请输入数字,该值最大可设置15位整数和3位小数!"/>
</EF:EFGrid> </EF:EFGrid>
</EF:EFRegion> </EF:EFRegion>
</EF:EFPage> </EF:EFPage>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment